TRAWBuffer

From Ultibo.org
Jump to: navigation, search

Return to Unit RAW


Description


To be documented

Class definitions



TRAWBuffer = class(TSocketBuffer)

constructor Create(ASocket:TTransportSocket);  
destructor Destroy; override;  
private
FOffset:Word; Offset to RemoteAddress
FLength:Word; Length of RemoteAddress
 
FRead:Pointer; Pointer to Next Read from Buffer
FWrite:Pointer; Pointer to Next Write to Buffer
 
FCount:LongWord; Number of Packets in Buffer
 
FFirst:PRAWPacket; Pointer to First Packet
FLast:PRAWPacket; Pointer to Last Packet
 
function AddPacket(ASize:Integer):Boolean;  
function RemovePacket:Boolean;  
procedure FlushPackets;  
protected
procedure SetSize(ASize:LongWord); override;  
public
function GetNext:Integer;  
function GetCount:LongWord;  
 
function ReadBuffer(var ABuffer; var ASize:Integer; ARemoteAddress:Pointer; AFlags:Integer):Boolean;  
function WriteBuffer(var ABuffer; ASize:Integer; ARemoteAddress:Pointer):Boolean;  


Function declarations



constructor TRAWBuffer.Create(ASocket:TTransportSocket);
Description: To be documented
Note None documented


destructor TRAWBuffer.Destroy;
Description: To be documented
Note None documented


function TRAWBuffer.AddPacket(ASize:Integer):Boolean;
Description: Adds a new Packet as the Last packet in the Buffer
Note None documented


function TRAWBuffer.RemovePacket:Boolean;
Description: Removes the First packet from the Buffer
Note None documented


procedure TRAWBuffer.FlushPackets;
Description: To be documented
Note None documented


procedure TRAWBuffer.SetSize(ASize:LongWord);
Description: Setting the Size clears any current Packets
Note None documented


function TRAWBuffer.GetNext:Integer;
Description: To be documented
Note None documented


function TRAWBuffer.GetCount:LongWord;
Description: To be documented
Note None documented


function TRAWBuffer.ReadBuffer(var ABuffer; var ASize:Integer; ARemoteAddress:Pointer; AFlags:Integer):Boolean;
Description: Stored Packet contains the Data and if IP_HDRINCL the Transport Header
Size Passed Size contains size of Buffer and should return the size of Packet
Flags Flags is for MSG_PEEK and MSG_OOB when applicable


function TRAWBuffer.WriteBuffer(var ABuffer; ASize:Integer; ARemoteAddress:Pointer):Boolean;
Description: To be documented
Note None documented


Return to Unit Reference