perhaps you think this is doging the question, but the cannonical plan 9 approach to this is to note that it's easy (trivial) to have a n reader threads and m worker threads s.t. i/o threads don't block
I'll agree. With multi threading the network read/write operations could be pipelined to minimize the overhead.