On Thu Mar 5 18:58:22 2009, Curtis King wrote:
On 5-Mar-09, at 9:55 AM, Dave Cridland wrote:
XEP-0198 can restore a session after the server has noticed the
TCP session down, in principle, in which case the full_jid is
unroutable, and actually available for another session if one gets
there first - it's possible that in some cases, a client might
even still want to know whether its dropped connection at least
sent all the messages when it hits a conflict.
I would argue you do want this behavior if a client has asked for
stream management. You want to keep that full jid alive and
routable so the client can reconnect and resume the session. Kinda
the whole is it not?
This is a bit of an odd edge case, I know.
There's two questions that XEP-0198 can answer on a reconnect:
1) Did you get that last?
2) Can I reconnect?
The first questions is handled by the exchange of the last ack sent
and received, and the answers can be "Yes", "No", or "Don't know".
If it's "Don't know", then the session is obviously not resumable,
but if the server replies with "Yes, I got everything", it can in
principle immediately close the stream with a conflict error. This
would provide reliability, but not resumption.
FWIW, XEP-0198 started out trying to provide reliability, so one
could see this as a quite sensible option.
At a stretch... ;-)
Dave.
--
Dave Cridland - mailto:[email protected] - xmpp:[email protected]
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade