Difference between revisions of "Unit Protocol"

From Ultibo.org
Jump to: navigation, search
Line 892: Line 892:
 
|  
 
|  
 
|-
 
|-
| <code>function InsertKey(ASocket:TProtocolSocket; AKey:Integer):Boolean;</code>
+
| <code>function InsertKey(ASocket:TProtocolSocket; AItem:PSocketTimerItem; AKey:Integer):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function DeleteKey(ASocket:TProtocolSocket):Boolean;</code>
+
| <code>function DeleteKey(ASocket:TProtocolSocket; AItem:PSocketTimerItem):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 904: Line 904:
 
|-
 
|-
 
| <code>property Count:LongWord read FCount;</code>
 
| <code>property Count:LongWord read FCount;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property MaxCount:LongWord read FMaxCount;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function StartTimer(AInterval:LongWord):Boolean;</code>
+
| <code>function StartTimer(AInterval:LongWord):Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function StopTimer:Boolean;</code>
+
| <code>function StopTimer:Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function CheckTimer:Boolean;</code>
+
| <code>function CheckTimer:Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ProcessTimer:Boolean;</code>
+
| <code>function ProcessTimer:Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function ScheduleSocket(ASocket:TProtocolSocket; ATimeout:LongWord):Boolean;</code>
+
| <code>function ScheduleSocket(ASocket:TProtocolSocket; ATimeout:LongWord):Boolean; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function UnscheduleSocket(ASocket:TProtocolSocket):Boolean; virtual;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ScheduleSocketItem(ASocket:TProtocolSocket; AItem:PSocketTimerItem; ATimeout:LongWord):Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function UnscheduleSocket(ASocket:TProtocolSocket):Boolean;</code>
+
| <code>function UnscheduleSocketItem(ASocket:TProtocolSocket; AItem:PSocketTimerItem):Boolean; virtual;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-

Revision as of 01:08, 21 April 2017

Return to Unit Reference


Description


Ultibo Network Protocol interface unit

To be documented

Constants



[Expand]
Protocol specific constants PROTOCOL_*


[Expand]
Protocol timer SOCKET_TIMER_*


[Expand]
ICMP header type ICMP_*


[Expand]
ICMP header code ICMP_UNREACH_*


[Expand]
IGMP header type IGMP_*


Type definitions



Protocol statistics

[Expand]

PProtocolStatistics = ^TProtocolStatistics;

TProtocolStatistics = record

Socket timer item

[Expand]

PSocketTimerItem = ^TSocketTimerItem;

TSocketTimerItem = record

Protocol callback

TProtocolCallback = function(AProtocol:TNetworkProtocol):Boolean of object;

Filter callback

TFilterCallback = function(AFilter:TNetworkFilter):Boolean of object;

Configuration callback

TConfigCallback = function(AConfig:TNetworkConfig):Boolean of object;


Class definitions



Protocol manager

[Expand]

TProtocolManager = class(TObject)

Protocol transport

[Expand]

TProtocolTransport = class(TListObject)

Network protocol

[Expand]

TNetworkProtocol = class(TListObject)

Socket timer

[Expand]

TSocketTimer = class(TObject)

Socket thread

[Expand]

TSocketThread = class(TThread)

Protocol port

[Expand]

TProtocolPort = class(TListObject)

Protocol socket

[Expand]

TProtocolSocket = class(TTransportSocket)

Protocol state

[Expand]

TProtocolState = class(TObject)

Protocol options

[Expand]

TProtocolOptions = class(TObject)

Filter transport

[Expand]

TFilterTransport = class(TListObject)

Network filter

[Expand]

TNetworkFilter = class(TListObject)

Configuration transport

[Expand]

TConfigTransport = class(TListObject)

Network configuration

[Expand]

TNetworkConfig = class(TListObject)

Network client

[Expand]

TNetworkClient = class(TListObject)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure ProtocolInit;
Description: To be documented


[Expand]
function ProtocolStart:LongWord;
Description: To be documented


[Expand]
function ProtocolStop:LongWord;
Description: To be documented


Protocol helper functions

[Expand]
procedure ProtocolCheckTimer(Data:Pointer);
Description: To be documented


Return to Unit Reference