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 ))