From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@cse.psu.edu Subject: Re: [9fans] 9p2000 query From: Brantley Coile Date: Fri, 13 May 2005 16:45:48 -0400 In-Reply-To: <77ea6b7c9988149c674429387f842122@plan9.ucalgary.ca> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 4a9961aa-ead0-11e9-9d60-3106f5b1d025 >> or no, depending on the file server. >> it's not really a well-formed question now that i think about it. >> >> devpipe preserves message boundaries. >> il does too. >> tcp does not. >> > > "Plan 9 from Bell Labs" discusses message boundaries briefly in the > context of 9p: > > "The 9P protocol must run above a reliable transport protocol with > delimited messages. 9P has no mechanism to recover from transmission > errors and the system assumes that each read from a communication > channel will return a single 9P message; it does not parse the data > stream to discover message boundaries. Pipes and some network > protocols already have these properties but the standard IP protocols > do not. TCP does not delimit messages, while UDP [RFC768] does not > provide reliable in-order delivery." > > those may not be the same message boundaries Ishwar was looking for > though. Do you mean 9p requires message boundaries to function, or is it part of the protocol? 9p2000 doesn't need it to work, like the previous version of 9p did. It's not part of the protocol, since it would be the transport's job. Each 9p2000 message has a length field for the message. Old 9p didn't and you had to use il or some extra cruft to get message boundaries over tcp.