On Thursday 08 of September 2011 10:36:00 s s wrote:
> With 9p's ability to send and receive arbitrary information as file i/o,
> does http remain "necessary"?
> 
> Is there any reason that 9p cannot do this ...


http works around high latency by packing as much information as sensible in 
one request, one response. http does not perform step-by-step hierarchy 
traversal, instead specifies whole pathname at once. http takes just one 
request/response to list whole directory (or similar). you need TCP (or 
similar) setup -- say, three packets, then one packet request (+ACK), one or 
few packets response (+ACK) and connection teardown.

9p seems to assume the latency is low enough to perform all both pathname and 
file operations separately.

you could create a 9p->http->9p bridge to work around high-latency links; it 
would gather a bunch of 9p operations: pathname traversal, file open, file read 
(sending locally fake `T' 9p responses to indicate success in spite of not 
doing any real work). it would then push them on-the-wire with just one http 
request. on the other end, the other process would issue locally several 9p 
requests to gather necessary data and respond with an usual http response -- 
which would get translated to Tread by the originating bridge process.

could get a bit hairy for writes.

-- 
dexen deVries

[[[↓][→]]]

For example, if the first thing in the file is:
   <?kzy irefvba="1.0" rapbqvat="ebg13"?>
an XML parser will recognize that the document is stored in the traditional 
ROT13 encoding.

(( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt ))

Reply via email to