Difference between revisions of "TTCPRecvBuffer"
From Ultibo.org
(Created page with "Return to Unit TCP __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-collapsed"...") |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 224: | Line 224: | ||
! Length | ! Length | ||
| Length includes the control bits | | Length includes the control bits | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 252: | Line 242: | ||
! Note | ! Note | ||
| If no Segment is after the passed Sequence returns the last Segment | | If no Segment is after the passed Sequence returns the last Segment | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 276: | Line 257: | ||
! Length | ! Length | ||
| Length includes the control bits | | Length includes the control bits | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 445: | Line 411: | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! Socket Timing | ! Socket Timing |
Latest revision as of 02:00, 30 May 2018
Return to Unit TCP
Description
To be documented
Class definitions
[Expand]
TTCPRecvBuffer = class(TSocketBuffer)
Function declarations
[Expand]
function TTCPRecvBuffer.DelayOverride(ASegment:PTCPSegment):Boolean;
Description: Checks if this segment can override delayed ack because it has an in sequence segment following it
[Expand]
function TTCPRecvBuffer.GetSegment(ASequence:LongWord; ALength:Word):PTCPSegment;
Description: Returns the first Segment that contains ALL of the passed Sequence
[Expand]
function TTCPRecvBuffer.GetPrevious(ASequence:LongWord; ALength:Word):PTCPSegment;
Description: Finds the first Segment that is AFTER the passed Sequence and returns the previous Segment
[Expand]
function TTCPRecvBuffer.GetOverlapped(ASequence:LongWord; ALength:Word):PTCPSegment;
Description: Returns the first Segment that overlaps ANY of the passed Sequence
[Expand]
function TTCPRecvBuffer.AddSegment(APrev:PTCPSegment; ASequence:LongWord; AFlags:Byte; ASize:Word):PTCPSegment;
Description: Adds a new Segment after the previous segment or first in the list
[Expand]
function TTCPRecvBuffer.RemoveSegment(ASegment:PTCPSegment):Boolean;
Description: Removes the passed Segment from the list
[Expand]
procedure TTCPRecvBuffer.FlushSegments(All:Boolean);
Description: Removes Read Segments from the buffer (or All)
[Expand]
function TTCPRecvBuffer.CheckIdle:Boolean;
Description: Check if all data in the recv buffer has been acknowledged
[Expand]
function TTCPRecvBuffer.SynReceived:Boolean;
Description: Checks if a SYN has been received from the Remote
[Expand]
function TTCPRecvBuffer.FinReceived:Boolean;
Description: Checks if a FIN has been received from the Remote
[Expand]
function TTCPRecvBuffer.CheckSequence(ASequence:LongWord; ASize:Word):Boolean;
Description: Checks a Sequence for validity
[Expand]
function TTCPRecvBuffer.ReadData(var ABuffer; var ASize:Integer; AFlags:Integer):Boolean;
Description: Used by Recv/RecvFrom to Read data from the buffer that has been Received
[Expand]
function TTCPRecvBuffer.WriteSegment(ASequence:LongWord; AUrgent:Word; AFlags:Byte; AData:Pointer; ASize:Word):Boolean;
Description: Used by Socket to Write segments that are received into the queue
[Expand]
function TTCPRecvBuffer.AcknowledgeSegments(var AAcknowledge:LongWord; var AWindow:Word; AForce:Boolean):Boolean;
Description: Used by Socket to Acknowledge segments that are received into the queue
[Expand]
function TTCPRecvBuffer.TimestampSegment(AOptions:Pointer; var AOffset:Word):Boolean;
Description: Used by Socket to Timestamp (RTT) segments that are received into the queue
[Expand]
function TTCPRecvBuffer.SelectiveAckSegments(AOptions:Pointer; var AOffset:Word):Boolean;
Description: To be documented
Return to Unit Reference