On May 6 2010, Mark Crispin wrote:
Reliable does not mean "does not fail".
Coincidentally, nobody said it did. Interesting!
This is another fun historical dissertation, at whose core is: "change the
RFCs, and until then maintain some righteous anger."
What you think of as being "failure" are all application layer concept:
[1] The application received a session disconnect (FIN) from TCP. This is
completely an application concept; TCP considers this to be a completely
normal shutdown of the session.
[2] The application received a session reset (RST) from TCP. This
indicates that the application attempted to communicate with a TCP peer
that does not exist. This is what most people (mistakenly) call a "TCP
failure".
[3] The application unilaterally decides that a failure has occurred.
Now, [1] and [2] generally indicate the demise of the peer, with [1] being
the normal and expected result of a mutually-agreed upon demise. [2] is
not supposed to happen with debugged implementations, except when a
link-level disconnect outlasts a FIN-wait.
But neither of these are what the discussion is about. That is [3]:
That is quite a sleight of hand there. It makes your pats on the heads of
the "young'ns" look even sillier. You've oversimplified [2[ to the point
where it edges from "oversimplified" to "misleading."
-Brian
_______________________________________________
Imap-uw mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw