According to this discussion about XMPP in-order delivery, the XMPP spec guarantees that messages will be processed in the order that they are received but not necessarily delivered in the order that they were received.
Even though they are not delivered in the order received, does XMPP (either normal chats or via the pub-sub extension) guarantee that all connected clients will receive messages in a consistent order?
e.g. if three messages are sent A, B, C, and client C1 receives the <message> stanzas in the order A, C, B, will client C2 also receive the stanzas in the order A, C, B?
I can't see anything in standards that guarantees this. It it's not there, do any implementations (like eJabberd) provide this as a side effect of their architecture?
The linked post is pretty old. XMPP does guarantee in-order processing and thus delivery, of stanzas. See RFC 6120 10.1. Note that it's a different matter if an XMPP implementation actually obeys and implements this requirement.
The stanzas in your example must be received in the order they are sent, i.e. A B C.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With