To alleviate the need for application developers to rewrite efficient, scalable, and portable time-driven dispatchers in an ad hoc manner, the ACE Reactor framework defines a family of reusable timer queue classes. The ACE timer queue classes allow applications to register time-driven event handlers derived from ACE_Event_Handler .What is the return value of schedule() in a timer queue?
When a timer queue dispatches an event handler's handle_timeout () method, it passes as parameters the current time and the void pointer ACT passed to the schedule () method when the event handler was scheduled originally. The return value of schedule () uniquely identifies each timer event that's scheduled with a timer queue.What is the use of Ace_timer_wheel?
ACE_Timer_Wheel , which uses a timing wheel [VL97] that contains a circular buffer designed to schedule, cancel, and dispatch timers in O (1) time in the average case, but O ( n ) in the worst case. Figure 3.5 shows that ACE_Timer_Queue::gettimeofday () can be changed to use any static method that returns an ACE_Time_Value value.How do I use the same event handler with a timer queue?
By using an ACT , the same event handler can be registered with a timer queue at multiple future dispatching times. A reference to a second ACE_Time_Value that designates the interval at which the event handler should be dispatched periodically. If this parameter is omitted, the event handler's handle_timeout () method is dispatched only once.