TIGMPBuffer
From Ultibo.org
								Revision as of 05:02, 21 May 2018 by Ultibo (Talk | contribs) (Created page with "Return to Unit IGMP   __TOC__  === Description === ----  ''To be documented''  === Class definitions === ----   <div class="toccolours mw-collapsible mw-collapse...")
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