[BEEPwg] Query related with message ordering on a channel.

Greg Hudson ghudson@MIT.EDU
30 Nov 2001 10:02:50 -0500


On Fri, 2001-11-30 at 14:46, Alok Gupta wrote:
> The RFC 3080 says that on a channel, the messages MUST be processed in
> the same order as they were received and then the replies to those
> messages MUST be generated in the same order. My question is that the
> processing time for all the  message will not be same so why hold the
> replies for the messages which have been processed before the reply is
> ready for the previously received messages.

It simplifies the implementation of some application protocols if you
can assume that replies will be received in the order that requests are
sent.  That is why BEEP requires that replies be synchronous within a
channel.  If you have some unrelated requests and want to be able to
receive replies for them in any order, send them on different channels.

(And yes, this means BEEP isn't necessarily a good fit for a protocol
where all requests are independent of each other and where it's
important not to let one slow request hold up feedback on any other
request.  For such a protocol, you'd have to manage a pool of channels
and create a new one each time you have a request to send and no free
channel in the pool; that's a lot of bookkeeping.)