Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does the XMPP protocol guarantee delivery in a consistent order ("in-order delivery")?

Tags:

xmpp

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?

like image 914
bcoughlan Avatar asked Oct 22 '25 11:10

bcoughlan


1 Answers

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.

like image 106
Flow Avatar answered Oct 27 '25 23:10

Flow