[Bug 46700] Implement reliable stanza delivery using XEP-0198 - Stream Management

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 2 04:57:10 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=46700

--- Comment #2 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
See also <https://bugs.freedesktop.org/show_bug.cgi?id=41148#c3> for some
thoughts about connectivity monitoring and how it relates to XEP-0198, although
I'm not sure how much of that relates to suspend/resume - it might make sense
for MC to centralize suspend/resume monitoring, and disconnect everything on
suspend if it can, even if connectivity monitoring is delegated to each CM.

Basic ack-based XEP-0198 hopefully shouldn't be rocket science.

Stream resumption is likely to be more difficult, because a Telepathy
Connection is stateless. Resuming within the same Connection without first
signalling NetworkError would be a bit subtle but probably OK.

Resuming a previous Connection would require D-Bus API design: a new D-Bus
signal from the Connection, emitted alongside ConnectionError just before
DISCONNECTED, to tell MC "here is the state you'll need to reconnect me, please
pass it back in next time" - including the sequence number of the last
acknowledged client -> server stanza, the text of all subsequent stanzas, and
the SM-ID. To have any possibility of not being XMPP-specific, MC would have to
treat it as an arbitrary blob of uninterpreted D-Bus data structures. It could
be passed back in to the CM as a hidden Parameter of type 'v', or some separate
mechanism like "call this method before Connect()" (I think I prefer the
latter, tbh).

I don't know where this goes on the boundary between Wocky and Gabble.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the telepathy-bugs mailing list