buffer
Click on the red underlined text to get to the source
...
Processes transmit data by calling on the TCP and passing buffers of
data as arguments. The TCP packages the data from these buffers ...
... buffers of
data as arguments. The TCP packages the data from these buffers into
segments and calls on the internet ...
... segment
into the receiving user's buffer and notifies the receiving user. The
TCPs include control information in the segments ...
...
There is a coupling between the push function and the use of buffers
of data that cross the TCP/user interface ...
... user interface. Each time a PUSH flag is
associated with data placed into the receiving user's buffer, the
buffer is returned to the user for processing even if the buffer ...
... receiving user's buffer, the
buffer is returned to the user for processing even if the buffer is
not filled. If data arrives that fills the user's buffer ...
... buffer, the
buffer is returned to the user for processing even if the buffer is
not filled. If data arrives that fills the user's buffer before a
...
... buffer is returned to the user for processing even if the buffer is
not filled. If data arrives that fills the user's buffer before a
PUSH is seen, the data is passed to the user in buffer size units.
...
... not filled. If data arrives that fills the user's buffer before a
PUSH is seen, the data is passed to the user in buffer size units.
...
... precedence of the connection, pointers to the user's send and receive
buffers, pointers to the retransmit queue and to the current segment.
...
... can terminate his side gracefully. A TCP will reliably deliver all
buffers SENT before the connection was CLOSED so a user who expects no
data in return need only wait to hear the connection ...
... data receiver) is currently
prepared to accept. There is an assumption that this is related to
the currently available data buffer space available for this
connection.
...
... Format: SEND (local connection name, buffer address, byte
count, PUSH flag, URGENT flag [,timeout])
...
...
This call causes the data contained in the indicated user buffer
to be sent on the indicated connection. If the connection ...
... segment created from the buffer. If the PUSH flag is not set,
the data may be combined with data from subsequent SENDs for
transmission efficiency.
...
... segment arriving for the
local socket), then the designated buffer is sent to the implied
foreign socket. Users who make use of OPEN with an unspecified
...
... In order for the process to distinguish among error or success
indications for different SENDs, it might be appropriate for the
buffer address to be returned along with the coded response to
the SEND ...
...
Format: RECEIVE (local connection name, buffer address, byte
count) -> byte count, urgent flag, push flag
...
...
This command allocates a receiving buffer associated with the
specified connection. If no OPEN precedes this command or the
...
...
In the simplest implementation, control would not return to the
calling program until either the buffer was filled, or some
error occurred, but this scheme is highly subject to deadlocks.
...
... the cost of a more elaborate scheme (possibly asynchronous) to
notify the calling program that a PUSH has been seen or a buffer
filled.
...
...
If enough data arrive to fill the buffer before a PUSH is seen,
the PUSH flag will not be set in the response to the RECEIVE.
The buffer ...
... buffer before a PUSH is seen,
the PUSH flag will not be set in the response to the RECEIVE.
The buffer will be filled with as much data as it can hold. If
a PUSH is seen before the buffer is filled the buffer ...
... The buffer will be filled with as much data as it can hold. If
a PUSH is seen before the buffer is filled the buffer will be
returned partially filled and PUSH indicated.
...
... buffer will be filled with as much data as it can hold. If
a PUSH is seen before the buffer is filled the buffer will be
returned partially filled and PUSH indicated.
...
... may now leave "urgent mode". Note that data following the
urgent pointer (non-urgent data) cannot be delivered to the user
in the same buffer with preceeding urgent data unless the
boundary is clearly marked for the user.
...
...
To distinguish among several outstanding RECEIVEs and to take
care of the case that a buffer is not completely filled, the
return code is accompanied by both a buffer ...
... buffer is not completely filled, the
return code is accompanied by both a buffer pointer and a byte
count indicating the actual length of the data received.
...
... Alternative implementations of RECEIVE might have the TCP
allocate buffer storage, or the TCP might share a ring buffer
...
... connection state,
number of buffers awaiting acknowledgment,
number of buffers pending receipt,
...
... Connection Name Always
Response String Always
Buffer Address Send & Receive
Byte count (counts bytes received) Receive
...
... STATE
Segmentize the buffer and send it with a piggybacked
acknowledgment (acknowledgment value = RCV.NXT). If there is
...
... acknowledgment (acknowledgment value = RCV.NXT). If there is
insufficient space to remember this buffer, simply return "error:
insufficient resources".
...
...
Reassemble queued incoming segments into receive buffer and return
to user. Mark "push seen" (PUSH) if this is the case.
...
... entirely acknowledged are removed. Users should receive
positive acknowledgments for buffers which have been SENT and
fully acknowledged (i.e., SEND buffer ...
... buffers which have been SENT and
fully acknowledged (i.e., SEND buffer should be returned with
"ok" response). If the ACK is a duplicate
...
... state, it is possible to deliver segment
text to user RECEIVE buffers. Text from segments can be moved
into buffers ...
... buffers. Text from segments can be moved
into buffers until either the buffer is full or the segment is
...
... segments can be moved
into buffers until either the buffer is full or the segment is
empty. If the segment ...
... empty. If the segment empties and carries an PUSH flag, then
the user is informed, when the buffer is returned, that a PUSH
has been received.
...
... RCV.NXT over the data accepted, and adjusts RCV.WND as
apporopriate to the current buffer availability. The total of
RCV.NXT and RCV.WND should not be reduced.
...
