On 6/22/07, Philippe Anel wrote: > > David Leimbach a écrit : > > Transactions are tagged right? So you can, in fact, have many in > > flight at once. > > > > Perhaps I'm missing what you meant by pipelined. > I meant sending a couple of requests on one fid before receiving > replies. That I believe is correct, there's no guarantee that a server has to process your requests on a single fid in the order the requests are sent/received. It will eventually reply to your requests in some order, and you'll be able to tell what order they occurred since I believe 9p requires a transport guaranteeing the sequence sent will be the sequence received. (I'm a 9p amateur though) Yes transaction are tagged, this doesn't mean that requests are > serialized (processed in order). > > See the example sent by Derek : > > 1 send: open,fid,file > 2 send: read,fid,args > 3 send: read,fid,args > > (wait one rtt) > > 4 recv: open success/fail > 5 recv: read result / read error due to unknown fid > 7 recv: read result / read error due to unknown fid > > I see no reason for the server to not reply the 2nd request > before the 1st one : by example the server can receive all > the requests and distpach those reqs to different tasks. Well you may have a point, but why not 1. send: open, fid, file 2. wait for reply to 1. 3. send read, fid, args 4. send read, fid, args 5. wait for either... 6. wait for remaining? At that point you're still pipelining, and since you're reading presumably into separate buffers, or different locations in the same buffer, who cares about the order? > Because all transactions are tagged ... this wouldn't break > 9P. However, this doesn't work as expected. Depends on what's expected :-) That's why I think 9P was not designed to allow this. But > maybe I'm wrong. It's probably designed to allow what I just said, you can sequence some operations, but then things that don't need to be sequenced could be pipelined. Different servers may behave differently, 9P makes no guarantee AFAIK. Dave Phil; > > > -- - Passage Matthew 5:37: But let your communication be, Yea, yea; Nay, nay: for whatsoever is more than these cometh of evil.