2009/4/21 Bakul Shah <bakul+pl...@bitblocks.com>:
> In the pipelined case, from a server's perspective, client's
> requests just get to it faster (and may already be waiting!).
> It doesn't have to do anything special.  What am I missing?

you're missing the fact that without the sequence operator, the
second request can arrive before the first request
has completed, thus potentially making it invalid
(e.g. it's invalid to read from a file that hasn't been opened).

also, in many current server implementations, each
request gets serviced in its
own process - there's no guarantee that replies will
come back in the same order as the requests,
even if all the requests are serviced immediately.

it would be possible to do a similar kind of thing
by giving the same tag to the operations in a sequence,
but i'm quite attached to the fact that

a) the operations are otherwise identical to operations in the original protocol
b) a small bit of extra redundancy is useful for debugging.
c) you can get Tendsequence (which is necessary, i now realise)
by flushing the Tsequence with a request within the sequence itself.

Reply via email to