TIGMPBuffer

From Ultibo.org
Jump to: navigation, search

Return to Unit IGMP


Description


To be documented

Class definitions



TIGMPBuffer = 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:PIGMPPacket; Pointer to First Packet
FLast:PIGMPPacket; 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 TIGMPBuffer.Create(ASocket:TTransportSocket);
Description: To be documented
Note None documented


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


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


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


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


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


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


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


function TIGMPBuffer.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 TIGMPBuffer.WriteBuffer(var ABuffer; ASize:Integer; ARemoteAddress:Pointer):Boolean;
Description: Supplied Buffer contains the Data and if IP_HDRINCL the Transport Header
Note Data that will not fit in the Buffer is simply discarded


Return to Unit Reference