Difference between revisions of "TEntryTimer"
From Ultibo.org
(Created page with "Return to Unit Filesystem __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible...") |
(No difference)
|
Latest revision as of 04:59, 17 May 2018
Return to Unit Filesystem
Description
To be documented
Class definitions
TEntryTimer = class(TObject)
constructor Create(ADriver:TFileSysDriver);
|
|
destructor Destroy; override;
|
|
protected
| |
FDriver:TFileSysDriver;
|
|
FLock:TMutexHandle;
|
|
FInterval:LongWord;
|
|
FCheckTimer:TTimerHandle;
|
|
FProcessTimer:TTimerHandle;
|
|
FFirst:PEntryTimerItem;
|
|
FLast:PEntryTimerItem;
|
|
function AcquireLock:Boolean;
|
|
function ReleaseLock:Boolean;
|
|
function Dequeue:TDiskEntry;
|
|
function FirstKey:Integer;
|
|
function InsertKey(AEntry:TDiskEntry; AKey:Integer):Boolean;
|
|
function DeleteKey(AEntry:TDiskEntry):Boolean;
|
|
function DecrementKey:Integer;
|
|
public
| |
function StartTimer(AInterval:LongWord):Boolean;
|
|
function StopTimer:Boolean;
|
|
function CheckTimer:Boolean;
|
|
function ProcessTimer:Boolean;
|
|
function ScheduleEntry(AEntry:TDiskEntry; ATimeout:LongWord):Boolean;
|
|
function UnscheduleEntry(AEntry:TDiskEntry):Boolean;
|
Function declarations
constructor TEntryTimer.Create(ADriver:TFileSysDriver);
Description: To be documented
Note | None documented |
---|
destructor TEntryTimer.Destroy;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.AcquireLock:Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.ReleaseLock:Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.Dequeue:TDiskEntry;
Description: Get and remove the first entry from the timer list
Return | Dequeued Entry or nil on failure |
---|
function TEntryTimer.FirstKey:Integer;
Description: Get the first Key value from the timer list
Return | First Key value from timer list or ENTRY_TIMER_KEY_NONE on failure |
---|
function TEntryTimer.InsertKey(AEntry:TDiskEntry; AKey:Integer):Boolean;
Description: Insert the supplied entry in the timer list in delta ascending order based on Key
Entry | The entry to be inserted |
---|---|
Key | The key to order the insertion on |
Return | True if completed or False on failure |
function TEntryTimer.DeleteKey(AEntry:TDiskEntry):Boolean;
Description: Delete the supplied entry from the timer list
Entry | The Entry to be deleted |
---|---|
Return | True if completed or False on failure |
function TEntryTimer.DecrementKey:Integer;
Description: Decrement the first Key value in the Timer list
Return | First Key value in timer list after decrement or ENTRY_TIMER_KEY_NONE on failure |
---|
function TEntryTimer.StartTimer(AInterval:LongWord):Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.StopTimer:Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.CheckTimer:Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.ProcessTimer:Boolean;
Description: To be documented
Note | Calls to ProcessTimer must be serialized so that multiple threads do not call simultaneously. This is done by creating the timer as non rescheduled and having this routine reenable the timer on completion. |
---|
function TEntryTimer.ScheduleEntry(AEntry:TDiskEntry; ATimeout:LongWord):Boolean;
Description: To be documented
Note | None documented |
---|
function TEntryTimer.UnscheduleEntry(AEntry:TDiskEntry):Boolean;
Description: To be documented
Note | None documented |
---|
Return to Unit Reference