9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Mike Haertel <mike@ducky.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] 9P2000
Date: Wed, 31 Jan 2001 09:46:35 -0800	[thread overview]
Message-ID: <200101311746.f0VHkZM02465@ducky.net> (raw)
In-Reply-To: <20010131093143.BA424199FA@mail.cse.psu.edu>

>Aren't there two issues here?  One is resynchronizing
>the message stream, so that both sides agree on the 
>message boundaries.  The other is resynchronizing 
>the 9P conversation state, so that both sides agree
>on which tags and fids are in use and what they mean.

Yes.

>Something (an underlying transport protocol, say) needs
>to provide the first capability, but without the second
>you're still hosed.  In an IP environment, you can drop
>and redial the connection,

Yes, in an IP environment, the connection gets closed, and the
other end of the conversation detects that *independently of
the 9P byte stream*, when attempting to read or write the connection
returns some kind of "EOF" indication.

>but if you've got a hard-wired
>link, you need an explicit restart within the protocol,
>hence Tsession, no?

Nope.  Because we've already established that in a a hard-wired
environment 9P cannot reliably be the lowest level protocol.

Therefore, we know we already NEED a lower level below 9P,
just to delimit message boundaries.  Why not just make that
lower level also know how to "return EOF"?

Then, to the higher 9P level, the hard wired link would look
*just like* and IP connection.  So the higher level would have
only one execution environment to cope with, instead of two
subtly different ones.

Let
	A = total_complexity_of(9P + Tsession abort and ~0 tags)
	B = total_complexity_of(encapsulation layer that doesn't "return EOF")
	C = total_complexity_of(9P with those features removed)
	D = total_complexity_of(encapsulation layer that does return EOF)

My argument is simply that

	A + B > C + D

But, if you guys aren't comfortable with this, I guess it's
not worth arguing about further.


  reply	other threads:[~2001-01-31 17:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-31  9:31 Russ Cox
2001-01-31 17:46 ` Mike Haertel [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-01-31  2:18 rob pike
2001-01-31  2:16 rob pike
2001-01-31  8:56 ` Mike Haertel
2001-01-30 12:09 rog
2001-01-30 18:04 ` Mike Haertel
2001-01-27 21:58 rob pike
2001-01-28 16:29 ` Sam Ducksworth
2001-01-30  9:21 ` Mike Haertel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200101311746.f0VHkZM02465@ducky.net \
    --to=mike@ducky.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).