ucommon
Public Member Functions | Protected Member Functions | Friends
ucommon::TimerQueue::event Class Reference

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

#include <timers.h>

Inheritance diagram for ucommon::TimerQueue::event:
Inheritance graph
[legend]
Collaboration diagram for ucommon::TimerQueue::event:
Collaboration graph
[legend]

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.
TimerQueuelist (void)
 Get the timer queue we are attached to.
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 281 of file timers.h.


Constructor & Destructor Documentation

Construct a timer event object and initially arm.

Parameters:
expiretimer in specified milliseconds.
ucommon::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

Arm event to trigger at specified timeout.

Parameters:
timeoutto expire and trigger.

Attach event to a timer queue.

Detaches from previous list if already attached elsewhere.

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

Time remaining until expired.

Returns:
milliseconds until timer expires.

Reimplemented from ucommon::Timer.

Definition at line 344 of file timers.h.

Here is the call graph for this function:

Get the timer queue we are attached to.

Returns:
timer queue or NULL if not attached.

Definition at line 356 of file timers.h.

virtual timeout_t ucommon::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: