UCommon

TimerQueue::event Class Reference

A timer event object that lives on a timer queue. More...

#include <timers.h>

Inheritance diagram for TimerQueue::event:
Collaboration diagram for TimerQueue::event:

Public Member Functions

void arm (timeout_t timeout)
 Arm event to trigger at specified timeout.
void attach (TimerQueue *queue)
 Attach event to a timer queue.
void detach (void)
 Detach event from a timer queue.
void disarm (void)
 Disarm event.
timeout_t get (void) const
 Time remaining until expired.
TimerQueuegetQueue (void)
 Get the timer queue we are attached to.
bool isExpired (void)
 Test if event has expired.
void update (void)
 Notify timer queue that the timer has been updated.
virtual ~event ()
 Detaches from queue when destroyed.

Protected Member Functions

 event (timeout_t expire)
 Construct a timer event object and initially arm.
 event (TimerQueue *queue, timeout_t expire)
 Construct an armed timer event object and attach to queue.
virtual void expired (void)=0
 Event method to call in derived class when timer expires.
virtual timeout_t timeout (void)
 Expected next timeout for the timer.

Friends

class TimerQueue

Detailed Description

A timer event object that lives on a timer queue.

Timer events are triggered through the timer queue's expire method. Timer events also modify the queue when they are changed, particularly to force re-evaluation of the expiration period. This class is not used by itself but rather as a base class for a timer event object.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 274 of file timers.h.


Constructor & Destructor Documentation

TimerQueue::event::event ( timeout_t  expire) [protected]

Construct a timer event object and initially arm.

Parameters:
expiretimer in specified milliseconds.
TimerQueue::event::event ( TimerQueue queue,
timeout_t  expire 
) [protected]

Construct an armed timer event object and attach to queue.

Parameters:
queueto add event to.
expiretimer in specified milliseconds.

Member Function Documentation

void TimerQueue::event::arm ( timeout_t  timeout)

Arm event to trigger at specified timeout.

Parameters:
timeoutto expire and trigger.
void TimerQueue::event::attach ( TimerQueue queue)

Attach event to a timer queue.

Detaches from previous list if already attached elsewhere.

Parameters:
queueto attach to.
timeout_t TimerQueue::event::get ( void  ) const [inline]

Time remaining until expired.

Returns:
milliseconds until timer expires.

Reimplemented from Timer.

Definition at line 344 of file timers.h.

Here is the call graph for this function:

TimerQueue* TimerQueue::event::getQueue ( void  ) [inline]

Get the timer queue we are attached to.

Returns:
timer queue or NULL if not attached.

Definition at line 356 of file timers.h.

bool TimerQueue::event::isExpired ( void  ) [inline]

Test if event has expired.

Returns:
true if expired.

Reimplemented from Timer.

Definition at line 337 of file timers.h.

Here is the call graph for this function:

virtual timeout_t TimerQueue::event::timeout ( void  ) [protected, virtual]

Expected next timeout for the timer.

This may be overriden for strategy purposes when evaluted by timer queue's expire.

Returns:
milliseconds until timer next triggers.

The documentation for this class was generated from the following file: