From mboxrd@z Thu Jan 1 00:00:00 1970 From: dexen deVries To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Date: Thu, 8 Sep 2011 11:09:41 +0200 User-Agent: KMail/1.13.6 (Linux/3.1.0-rc5-l38+; KDE/4.5.5; x86_64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201109081109.42824.dexen.devries@gmail.com> Subject: Re: [9fans] 9ttp Topicbox-Message-UUID: 1b953026-ead7-11e9-9d60-3106f5b1d025 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"? >=20 > Is there any reason that 9p cannot do this ... http works around high latency by packing as much information as sensible i= n=20 one request, one response. http does not perform step-by-step hierarchy=20 traversal, instead specifies whole pathname at once. http takes just one=20 request/response to list whole directory (or similar). you need TCP (or=20 similar) setup -- say, three packets, then one packet request (+ACK), one o= r=20 few packets response (+ACK) and connection teardown. 9p seems to assume the latency is low enough to perform all both pathname a= nd=20 file operations separately. you could create a 9p->http->9p bridge to work around high-latency links; i= t=20 would gather a bunch of 9p operations: pathname traversal, file open, file = read=20 (sending locally fake `T' 9p responses to indicate success in spite of not= =20 doing any real work). it would then push them on-the-wire with just one htt= p=20 request. on the other end, the other process would issue locally several 9p= =20 requests to gather necessary data and respond with an usual http response -= =2D=20 which would get translated to Tread by the originating bridge process. could get a bit hairy for writes. =2D-=20 dexen deVries [[[=E2=86=93][=E2=86=92]]] =46or example, if the first thing in the file is: an XML parser will recognize that the document is stored in the traditional= =20 ROT13 encoding. (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt ))