[Standards-JIG] In order delivery for xep-0047 ?
jd.conley at coversant.net
Mon Dec 11 18:58:31 UTC 2006
In this scenario I would argue that it is against the spec for the client to receive the presence packets before the roster response. If the server was truly processing things in order it would have sent the roster response before sending the presences. Maybe I'm naïve, but I don't think this requirement in itself severely limits scale, though I do see how it could depending on implementation details. Each stanza in our current implementation is considered a "transaction" and stanzas from a particular JID are always processed in order, including anything that gets queued (though not necessarily delivered) to any socket (i.e. the roster response). This was our original (hopefully correct) interpretation of the specification as it was being written...
In our client implementations we explicitly wait for the roster response before sending in presence to avoid any potential issues. However, mucking up the order of data between two JID's just seems wrong.
From: standards-jig-bounces at jabber.org [mailto:standards-jig-bounces at jabber.org] On Behalf Of Mickaël Rémond
"To make it more concret, here is a real life example: sending a roster get and then your presence: Is a server really breaking the spec if the client end up receiving some presences packet before having received the roster ?
In my opinion, it can be up to the client to wait for the roster, before sending its presence if this order matter for the client. Otherwise, the server should propagate the presence as soon as possible, as asked by the client."
There is a real question here. What is the correct behaviour in the previous case ?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Standards