TNTPClient
From Ultibo.org
Return to Unit Services
Description
To be documented
Class definitions
TNTPClient = class(TWinsock2UDPClient)
public
| |
constructor Create;
|
|
destructor Destroy; override;
|
|
private
| |
FLock:TMutexHandle;
|
|
FPollInterval:LongWord;
|
How often to poll the server (in seconds) |
FPollTimeout:LongWord;
|
How long before receive or send timeout occurs (in milliseconds) |
FPollRetries:LongWord;
|
How many times to retry a poll |
FRetryTimeout:LongWord;
|
How long to wait between poll retries (in milliseconds) |
FUseClockOffset:Boolean;
|
Use the calculated NTP clock offset to update the local time |
FClockTolerance:LongWord;
|
Milliseconds difference between local and remote to trigger a clock set |
FInitialClockGet:Boolean;
|
Has the time been obtained at least once |
FInitialClockCount:LongWord;
|
How many times have we tried to obtain the initial clock |
FInitialClockRetry:Boolean;
|
Should the client setup a worker thread to retry until the initial clock has been set (Default: True) |
FTimerHandle:TTimerHandle;
|
Handle for the NTP update timer |
function AcquireLock:Boolean;
|
|
function ReleaseLock:Boolean;
|
|
procedure SetPollInterval(APollInterval:LongWord);
|
|
procedure SetPollTimeout(APollTimeout:LongWord);
|
|
procedure SetPollRetries(APollRetries:LongWord);
|
|
procedure SetRetryTimeout(ARetryTimeout:LongWord);
|
|
procedure SetUseClockOffset(AUseClockOffset:Boolean);
|
|
procedure SetClockTolerance(AClockTolerance:LongWord);
|
|
procedure SetInitialClockGet(AInitialClockGet:Boolean);
|
|
procedure SetInitialClockCount(AInitialClockCount:LongWord);
|
|
procedure SetTimerHandle(ATimerHandle:TTimerHandle);
|
|
public
| |
property PollInterval:LongWord read FPollInterval write SetPollInterval;
|
|
property PollTimeout:LongWord read FPollTimeout write SetPollTimeout;
|
|
property PollRetries:LongWord read FPollRetries write SetPollRetries;
|
|
property RetryTimeout:LongWord read FRetryTimeout write SetRetryTimeout;
|
|
property UseClockOffset:Boolean read FUseClockOffset write SetUseClockOffset;
|
|
property ClockTolerance:LongWord read FClockTolerance write SetClockTolerance;
|
|
property InitialClockGet:Boolean read FInitialClockGet write SetInitialClockGet;
|
|
property InitialClockCount:LongWord read FInitialClockCount write SetInitialClockCount;
|
|
property InitialClockRetry:Boolean read FInitialClockRetry write SetInitialClockRetry;
|
|
property TimerHandle:TTimerHandle read FTimerHandle write SetTimerHandle;
|
|
function GetTime:Int64;
|
|
procedure IncrementInitialClockCount;
|
|
function FormatTime(Time:Int64):String;
|
|
function FormatOffset(Offset:Int64):String;
|
|
function CalculateClockOffset(T1,T2,T3,T4:Int64):Int64;
|
|
function CalculateRoundtripDelay(T1,T2,T3,T4:Int64):Int64;
|
Function declarations
constructor TNTPClient.Create;
Description: To be documented
Note | None documented |
---|
destructor TNTPClient.Destroy;
Description: To be documented
Note | None documented |
---|
function TNTPClient.AcquireLock:Boolean;
Description: To be documented
Note | None documented |
---|
function TNTPClient.ReleaseLock:Boolean;
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetPollInterval(APollInterval:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetPollTimeout(APollTimeout:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetPollRetries(APollRetries:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetRetryTimeout(ARetryTimeout:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetUseClockOffset(AUseClockOffset:Boolean);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetClockTolerance(AClockTolerance:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetInitialClockGet(AInitialClockGet:Boolean);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetInitialClockCount(AInitialClockCount:LongWord);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetInitialClockRetry(AInitialClockRetry:Boolean);
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.SetTimerHandle(ATimerHandle:TTimerHandle);
Description: To be documented
Note | None documented |
---|
function TNTPClient.GetTime:Int64;
Description: To be documented
Note | None documented |
---|
procedure TNTPClient.IncrementInitialClockCount;
Description: To be documented
Note | None documented |
---|
function TNTPClient.FormatTime(Time:Int64):String;
Description: To be documented
Note | None documented |
---|
function TNTPClient.FormatOffset(Offset:Int64):String;
Description: To be documented
Note | None documented |
---|
function TNTPClient.CalculateClockOffset(T1,T2,T3,T4:Int64):Int64;
Description: To be documented
Note | T1 = Originate Timestamp (time request sent by client) T2 = Receive Timestamp (time request received by server) T3 = Transmit Timestamp (time reply sent by server) T4 = Destination Timestamp (time reply received by client) |
---|
function TNTPClient.CalculateRoundtripDelay(T1,T2,T3,T4:Int64):Int64;
Description: To be documented
Note | T1 = Originate Timestamp (time request sent by client) T2 = Receive Timestamp (time request received by server) T3 = Transmit Timestamp (time reply sent by server) T4 = Destination Timestamp (time reply received by client) |
---|
Return to Unit Reference