Reputation: 51
As per https://datatracker.ietf.org/doc/rfc6120/?include_text=1 and 10.1. In-Order Processing How is Ordered Message Delivery ensured across all items in roster?
Upvotes: 3
Views: 584
Reputation: 437
First of all, As XMPP uses TCP transport protocol it ensures the server receives the data in the same order the client sends it.
As per TCP docs:
TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent
ejabbred is an XMPP server, the raw data received over the TCP must be compliant with the XMPP protocol and the same being verified XMPP server.
In XMPP protocol client can able to send messages after it has done with session initiation, resource bind, and authentication, etc..
These messages are being processed in the order the client sends it and routes to its recipients. If recipients are offline it push and pop to database the same order for later delivery.
Here ordering guarantees mostly ensure by the TCP network stack.
Upvotes: 1