Difference between revisions of "TWinsock2UDPServerBuffers"

From Ultibo.org
Jump to: navigation, search
(Created page with "Return to Unit Winsock2 __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-...")
 
 
Line 22: Line 22:
 
|-
 
|-
 
| <code>constructor Create(AListener:TWinsock2UDPListener);</code>
 
| <code>constructor Create(AListener:TWinsock2UDPListener);</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>destructor Destroy; override;</code>
 
| style="width: 50%;"|&nbsp;
 
| style="width: 50%;"|&nbsp;
 
|-
 
|-
Line 27: Line 30:
 
|-
 
|-
 
| <code>FMin:Integer;</code>
 
| <code>FMin:Integer;</code>
| &nbsp;
+
| Minimum buffer count to maintain in server buffer pool
 
|-
 
|-
 
| <code>FMax:Integer;</code>
 
| <code>FMax:Integer;</code>
 +
| Maximum buffer count to maintain in buffer pool, buffers above max will be destroyed on completion
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FWait:TSemaphoreHandle;</code>
 
| &nbsp;
 
| &nbsp;
 +
|-
 +
| <code>FWaitTimeout:LongWord;</code>
 +
| Time to wait for a buffer to be available before creating a new buffer (0 = No Wait / INFINITE = Wait Forever)
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
Line 49: Line 60:
 
|-
 
|-
 
| <code>procedure SetMax(AMax:Integer);</code>
 
| <code>procedure SetMax(AMax:Integer);</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetWaitTimeout:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure SetWaitTimeout(AWaitTimeout:LongWord);</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 56: Line 75:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function CreateBuffer(AForce:Boolean):TWinsock2UDPServerBuffer;</code>
+
| <code>function CreateBuffer(AForce,ASignal:Boolean):TWinsock2UDPServerBuffer;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 68: Line 87:
 
|-
 
|-
 
| <code>property Max:Integer read GetMax write SetMax;</code>
 
| <code>property Max:Integer read GetMax write SetMax;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>property WaitTimeout:LongWord read GetWaitTimeout write SetWaitTimeout;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 96: Line 120:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">constructor TWinsock2UDPServerBuffers.Create(AListener:TWinsock2UDPListener);</pre>
 
<pre style="border: 0; padding-bottom:0px;">constructor TWinsock2UDPServerBuffers.Create(AListener:TWinsock2UDPListener);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">destructor TWinsock2UDPServerBuffers.Destroy;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 144: Line 180:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">procedure TWinsock2UDPServerBuffers.SetMax(AMax:Integer);</pre>
 
<pre style="border: 0; padding-bottom:0px;">procedure TWinsock2UDPServerBuffers.SetMax(AMax:Integer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TWinsock2UDPServerBuffers.GetWaitTimeout:LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure TWinsock2UDPServerBuffers.SetWaitTimeout(AWaitTimeout:LongWord);</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 167: Line 227:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TWinsock2UDPServerBuffers.CreateBuffer(AForce:Boolean):TWinsock2UDPServerBuffer;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TWinsock2UDPServerBuffers.CreateBuffer(AForce,ASignal:Boolean):TWinsock2UDPServerBuffer;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Latest revision as of 05:12, 8 October 2025

Return to Unit Winsock2


Description


To be documented

Class definitions



TWinsock2UDPServerBuffers = class(TWinsock2SocketBuffers)

public
constructor Create(AListener:TWinsock2UDPListener);  
destructor Destroy; override;  
private
FMin:Integer; Minimum buffer count to maintain in server buffer pool
FMax:Integer; Maximum buffer count to maintain in buffer pool, buffers above max will be destroyed on completion
 
FWait:TSemaphoreHandle;  
FWaitTimeout:LongWord; Time to wait for a buffer to be available before creating a new buffer (0 = No Wait / INFINITE = Wait Forever)
 
FListener:TWinsock2UDPListener;  
 
function GetMin:Integer;  
procedure SetMin(AMin:Integer);  
function GetMax:Integer;  
procedure SetMax(AMax:Integer);  
 
function GetWaitTimeout:LongWord;  
procedure SetWaitTimeout(AWaitTimeout:LongWord);  
 
procedure CreateBuffers;  
function CreateBuffer(AForce,ASignal:Boolean):TWinsock2UDPServerBuffer;  
procedure DeleteBuffer(ABuffer:TWinsock2UDPServerBuffer);  
public
property Min:Integer read GetMin write SetMin;  
property Max:Integer read GetMax write SetMax;  
 
property WaitTimeout:LongWord read GetWaitTimeout write SetWaitTimeout;  
 
function GetBuffer:TWinsock2UDPServerBuffer;  
procedure ReleaseBuffer(ABuffer:TWinsock2UDPServerBuffer);  
 
procedure DeleteAll;  
function Delete(ABuffer:TWinsock2UDPServerBuffer):Boolean;  


Function declarations



constructor TWinsock2UDPServerBuffers.Create(AListener:TWinsock2UDPListener);
Description: To be documented
Note None documented


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


function TWinsock2UDPServerBuffers.GetMin:Integer;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.SetMin(AMin:Integer);
Description: To be documented
Note None documented


function TWinsock2UDPServerBuffers.GetMax:Integer;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.SetMax(AMax:Integer);
Description: To be documented
Note None documented


function TWinsock2UDPServerBuffers.GetWaitTimeout:LongWord;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.SetWaitTimeout(AWaitTimeout:LongWord);
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.CreateBuffers;
Description: To be documented
Note None documented


function TWinsock2UDPServerBuffers.CreateBuffer(AForce,ASignal:Boolean):TWinsock2UDPServerBuffer;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.DeleteBuffer(ABuffer:TWinsock2UDPServerBuffer);
Description: To be documented
Note None documented


function TWinsock2UDPServerBuffers.GetBuffer:TWinsock2UDPServerBuffer;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.ReleaseBuffer(ABuffer:TWinsock2UDPServerBuffer);
Description: To be documented
Note None documented


procedure TWinsock2UDPServerBuffers.DeleteAll;
Description: To be documented
Note None documented


function TWinsock2UDPServerBuffers.Delete(ABuffer:TWinsock2UDPServerBuffer):Boolean;
Description: To be documented
Note None documented


Return to Unit Reference