#include <Timer_Queue_Adapters.h>
Inheritance diagram for ACE_Async_Timer_Queue_Adapter:


Public Types | |
| typedef TQ | TIMER_QUEUE |
Public Methods | |
| ACE_Async_Timer_Queue_Adapter (ACE_Sig_Set *mask=0) | |
| Constructor. More... | |
| long | schedule (ACE_Event_Handler *type, const void *act, const ACE_Time_Value &future_time, const ACE_Time_Value &interval=ACE_Time_Value::zero) |
| Schedule the timer according to the semantics of the <ACE_Timer_List>. More... | |
| int | cancel (long timer_id, const void **act=0) |
| Cancel the timer_id and pass back the act if an address is passed in. More... | |
| int | expire (void) |
| Dispatch all timers whose values are <= <cur_time>. Returns the number of timers canceled. More... | |
| TQ & | timer_queue (void) |
| Access the underlying <TIMER_QUEUE>. More... | |
Private Methods | |
| virtual int | schedule_ualarm (void) |
| Perform the logic to compute the new ualarm(2) setting. More... | |
| virtual int | handle_signal (int signum, siginfo_t *, ucontext_t *) |
| Called back by <SIGALRM> handler. More... | |
Private Attributes | |
| ACE_Sig_Handler | sig_handler_ |
| Handler for the <SIGALRM> signal, so that we can access our state without requiring any global variables. More... | |
| TQ | timer_queue_ |
| Implementation of the timer queue (e.g., <ACE_Timer_List>, <ACE_Timer_Heap>, etc.). More... | |
| ACE_Sig_Set | mask_ |
| Mask of signals to be blocked when we're servicing <SIGALRM>. More... | |
This implementation uses the <ualarm> call, which generates the SIGARLM signal that is caught by this class.
|
|||||
|
|
|
||||||||||
|
Constructor. Register the SIGALRM handler. If <mask> == 0 then block all signals when <SIGALRM> is run. Otherwise, just block the signals indicated in <mask>. |
|
||||||||||||||||
|
Cancel the timer_id and pass back the act if an address is passed in.
|
|
||||||||||
|
Dispatch all timers whose values are <= <cur_time>. Returns the number of timers canceled.
|
|
||||||||||||||||||||
|
Called back by <SIGALRM> handler.
Reimplemented from ACE_Event_Handler. |
|
||||||||||||||||||||||||
|
Schedule the timer according to the semantics of the <ACE_Timer_List>. This timer gets dispatched via a signal, rather than by a user calling expire(). Note that interval timers are not implemented yet. |
|
||||||||||
|
Perform the logic to compute the new ualarm(2) setting.
|
|
||||||||||
|
Access the underlying <TIMER_QUEUE>.
|
|
|||||
|
Mask of signals to be blocked when we're servicing <SIGALRM>.
|
|
|||||
|
Handler for the <SIGALRM> signal, so that we can access our state without requiring any global variables.
|
|
|||||
|
Implementation of the timer queue (e.g., <ACE_Timer_List>, <ACE_Timer_Heap>, etc.).
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001