TWinsock2UDPServerThreads

From Ultibo.org
Revision as of 05:06, 8 October 2025 by Ultibo (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Return to Unit Winsock2


Description


To be documented

Class definitions



TWinsock2UDPServerThreads = class(TWinsock2SocketThreads)

public
constructor Create(AListener:TWinsock2UDPListener);  
destructor Destroy; override;  
private
FMin:Integer; Minimum thread count to maintain in server thread pool
FMax:Integer; Maximum thread count to maintain in thread pool, threads above max will terminate on completion
FLimit:Integer; Absolute thread count limit, new threads will not be created once reached (0 = No Limit)
 
FWait:TSemaphoreHandle;  
FWaitTimeout:LongWord; Time to wait for a thread to be available before creating a new thread (0 = No Wait / INFINITE = Wait Forever)
 
FListener:TWinsock2UDPListener;  
 
function GetMin:Integer;  
procedure SetMin(AMin:Integer);  
function GetMax:Integer;  
procedure SetMax(AMax:Integer);  
function GetLimit:Integer;  
procedure SetLimit(ALimit:Integer);  
 
function GetWaitTimeout:LongWord;  
procedure SetWaitTimeout(AWaitTimeout:LongWord);  
 
procedure CreateThreads;  
function CreateThread(AForce,ASignal:Boolean):TWinsock2UDPServerThread;  
procedure TerminateThread(AThread:TWinsock2UDPServerThread);  
public
property Min:Integer read GetMin write SetMin;  
property Max:Integer read GetMax write SetMax;  
property Limit:Integer read GetLimit write SetLimit;  
 
property WaitTimeout:LongWord read GetWaitTimeout write SetWaitTimeout;  
 
function GetThread:TWinsock2UDPServerThread;  
procedure ReleaseThread(AThread:TWinsock2UDPServerThread);  
 
procedure TerminateAll;  
function Terminate(AThread:TWinsock2UDPServerThread):Boolean;  


Function declarations



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


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


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


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


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


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


function TWinsock2UDPServerThreads.GetLimit:Integer;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerThreads.SetLimit(ALimit:Integer);
Description: To be documented
Note None documented


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


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


procedure TWinsock2UDPServerThreads.CreateThreads;
Description: To be documented
Note None documented


function TWinsock2UDPServerThreads.CreateThread(AForce,ASignal:Boolean):TWinsock2UDPServerThread;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerThreads.TerminateThread(AThread:TWinsock2UDPServerThread);
Description: To be documented
Note None documented


function TWinsock2UDPServerThreads.GetThread:TWinsock2UDPServerThread;
Description: To be documented
Note None documented


procedure TWinsock2UDPServerThreads.ReleaseThread(AThread:TWinsock2UDPServerThread);
Description: To be documented
Note None documented


procedure TWinsock2UDPServerThreads.TerminateAll;
Description: To be documented
Note None documented


function TWinsock2UDPServerThreads.Terminate(AThread:TWinsock2UDPServerThread):Boolean;
Description: To be documented
Note None documented


Return to Unit Reference