I already implemented that behavior in go9p on the plane back from
Seattle. I need to test it a bit before I check it in the repository.
The good thing about it is that it doesn't break any existing clients
or servers.

How is it going to be exposed to the clients is another issue. I am
still not sure about the right solution.

Another nice thing about that approach is that it allows long-lived
"transactions" (can't think of a better word). The client can reserve
a tag, use it as long as he needs it and send as many messages to the
server that need to be processed serially. With the πp approach, you
need to know in advance the messages you want to group.

Thanks,
    Lucho

2010/10/15 Russ Cox <r...@swtch.com>:
> A simpler way to add pipelining to 9P is to
> define that multiple outstanding messages
> with the same tag are allowed and that the
> server must process and respond to messages
> with a given tag in the order it receives them.
> This only requires changes to servers that
> are actually multithreaded.  All the tiny servers
> only do one message at a time anyway.
>
> Given that extension, you can just send
> Twalk Topen Twrite Tclunk back to back
> with a single tag and then process the four
> replies.
>
> This was proposed at the Spain IWP9.
>
> Russ
>
>

Reply via email to