On Sun, May 22, 2011 at 2:44 AM, Dhruv Matani <[email protected]> wrote: > Hello, > I was wondering why it has been mandated for responses to be sent in > RID order. The only reason I can think of is that Req/Res ACKs are > optional and in that case, the current strategy is the only way to > ensure in-order response delivery (is there any other reason?). Was > wondering if it makes sense to make it compulsory to have Req/Res ACKs > and separate RequestID and ResponseID as separate counters. It would > surely simplify implementations.
Responding to requests in the order they were made by the client simplifies clients. When you're in a multiple-connection mode, you never have to monitor multiple sockets at once: you just keep a queue of sent requests, and read responses from sockets in the same order you made requests. It also makes it easy to tell when a request has been received (even without request acks): when you receive a response to a request, you know the server has received that request. This wouldn't work if the response order wasn't tied to the request order. -- Glenn Maynard
