From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <201005012140.55806.0intro@gmail.com> <201005032010.27555.0intro@gmail.com> Date: Tue, 4 May 2010 12:51:19 -0700 Message-ID: Subject: Re: [9fans] Distributed Pipelines From: Russ Cox To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Topicbox-Message-UUID: 1a9f6a70-ead6-11e9-9d60-3106f5b1d025 TCP doesn't preserve message boundaries. The pre-9P2000 kernels relied on having a transport protocol that preserved message boundaries in order to work one 9P packet at a time with ordinary read calls. You could work around it by pushing an "fcall" stream module to reinsert the boundaries on TCP, but it was extra hassle. In the 9P2000 rewrite, we introduced a read9pmsg function to the C library and fixed the kernel to do the same, so that the protocol and its implementations would not depend on the underlying transport for message boundaries. So it doesn't matter anymore. The fix was in the 9P implementations, not IPv6. Russ