TEntryTimer

From Ultibo.org
Jump to: navigation, search

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