[OTR-dev] mpOTR: shutdown()

devrandom c1.otr-dev at niftybox.net
Wed Jul 18 19:25:00 EDT 2012


A potential solution to the startup/shutdown user-experience is to
maintain multiple overlapping sessions.

So:

* When a client joins or leaves, initiate startup of a new session
* Always communicate on the newest session that is active
* An active session is defined as a session that has startup completed
and no shutdown initiated
* When you have a new active session, initiate shutdown of any old ones
* Long timeout on shutdowns (1 hour?)

Advantages:

* There will always be an active session so that chatting will not be
disrupted
* Clients will likely be able to complete shutdown so that they can have
deniability even with flaky networks
* New clients will be able to start chatting as soon as possible,
without disrupting existing chat

Disadvantages

* Additional network bandwidth and CPU usage (mitigate through
throttling creation rate?)

Open questions:

* How do we decide on the group membership for startup?  Different
clients may have different ideas of who is present due to network
delays.  Perhaps that is okay - make the session ID be a hash depending
on members and just go ahead and create multiple sessions.  Since you
always chat on the newest session that initiated successfully,
additional sessions are not an issue.

--
Miron




More information about the OTR-dev mailing list