True, or perhaps the network between servers (s2s) that
might deliver complete messages out of order.  There may be
factors that change the actual path of delivery from server
to server so messages that go out in order may not be
received on the other end in the correct order.

I think the point has been made that there is truly no
_guarantee_ that messages will be delivered in a specific
order.

The current server implementation may be a FIFO, but I don't
think there is a requirement placed on the server to ensure
messages are delivered in any particular order.  Load
balancing, as Max H stated, is certainly a possibility to be
considered in server design and that might affect message
ordering.

Have we beat this dead horse enough?  Poor Dustin asked a
simple yes/no question.

David
Guilty of "over-engineering" :-)


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
Behalf Of
Oliver Jones
Sent: Friday, May 25, 2001 9:27 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: [JDEV] guarantee of order?


At 07:49 AM 5/25/2001 -0400, David Iodice wrote:
>The underlying set-up of the internet does not guarantee
the
>ordered delivery of data.  Protocols like RTP provide
>mechanisms within their protocol headers to manage ordering
>of packets received.

It's true that IP doesn't guarantee packet ordering, but TCP
does, and all
client-server connections in Jabber use TCP connections
(AFAIK).  So we
know that Jabber messages from any client to a server, or
back again, will
stay in order.  It's the server processing that might
re-order messages,
not the network.

Dustin Puryear wrote:

>Is there a guarantee that if I send messages in the
>order of a, b, c
>that the recipient will receive the messages in that
>order?

Peter St Andre's response to this question ... "no" ...
seems to me
appropriate.  It wouldn't be wise to build a system on top
of Jabber that
assumed messages would always stay in order, because an
enormously
scaled-up Jabber message relaying system might break that
assumption one day.

I should think that series of messages needing ordering
should carry a
sequence number someplace in their payload.  The receiving
entity should be
responsible for reordering messages if they were received
out of order (and
dealing with missing message sequence numbers if any are
detected).

Ollie Jones

_______________________________________________
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev

_______________________________________________
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev

Reply via email to