HP3000-L Archives

April 2002, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Steve Dirickson <[log in to unmask]>
Reply To:
Steve Dirickson <[log in to unmask]>
Date:
Tue, 23 Apr 2002 15:06:39 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (36 lines)
> Or, is your 3000 replying, yes, I got message #123,456,
> here's your checksum
> (or whatever) to confirm that I really, truly got it? If the
> latter, it
> sounds like a poorly defined process, since TCP/IP pretty
> much already does all of that for you,

TCP doesn't do *any* of that for you.

What TCP promises is that, *at the protocol level*,
 1) a stream of bytes accepted at one end of a connection for transfer
will be delivered complete and in sequence to the other end, or
 2) the error will be reported to the protocol, resulting (usually) in
a connection reset

TCP knows *nothing* about application-level return-receipt, integrity,
or other concerns. And there's no such thing as a TCP "message".

Specifically, a successful send()/IPCSEND()/whateversend() call means
that at least some of the data provided has been accepted by the
protocol for transport. And that's all it means. In particular, it
does NOT mean that
 1) Any of the data has been--or ever will be--received at the other
end
 2) Any of the data has been--or ever will be--placed "on the wire" at
the sender's end

Proper management of connection termination via the "linger" option
and socket shutdown and closure functions can maximize the chance that
the data at least gets to the hardware on the sending machine, but
nothing is available at the socket level to check progress, receipt,
or integrity; those must be handled by the application.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2