Yeah; "segment" is a better word than "packet".
I thought a 2-byte segment length was reasonable because
typically a server process is going to use a small (< 64K)
buffer *anyway* as it's sending data over the network -- a
program that reads a 4 megabyte file into memory and writes
it back out with only two system calls is going to have
problems -- and this also provides a reasonable maximum
buffer size for clients to allocate.
> I have reasons that would make me prefer the 2-byte length.
> But the suggestion en-whole (zero length segment terminates, 2-byte
> length, all of it) solves exactly >one< problem. Were we to add
> real structure to the stream, we'd need something more complete.
My first thought was to use a 3 part tag-length-value
encoding for segments/packets, but I couldn't think of any
uses for the tag field.
This scheme is only trying to solve one problem --
how to provide an in-band end-of-message indicator for
multipart MIME messages without "spreading social diseases
like base64 encoding around" :-) What other structure do you
have in mind?
--Joe English