|
| ACE_Timer_Hash_T (size_t table_size, FUNCTOR *upcall_functor=0, ACE_Free_List< ACE_Timer_Node_T< TYPE > > *freelist=0, TIME_POLICY const &time_policy=TIME_POLICY()) |
|
| ACE_Timer_Hash_T (FUNCTOR *upcall_functor=0, ACE_Free_List< ACE_Timer_Node_T< TYPE > > *freelist=0, TIME_POLICY const &time_policy=TIME_POLICY()) |
|
virtual | ~ACE_Timer_Hash_T (void) |
| Destructor. More...
|
|
virtual bool | is_empty (void) const |
| True if queue is empty, else false. More...
|
|
virtual const ACE_Time_Value & | earliest_time (void) const |
|
virtual int | reset_interval (long timer_id, const ACE_Time_Value &interval) |
|
virtual int | cancel (const TYPE &type, int dont_call_handle_close=1) |
|
virtual int | cancel (long timer_id, const void **act=0, int dont_call_handle_close=1) |
|
virtual int | close (void) |
|
virtual int | expire (void) |
|
virtual int | expire (const ACE_Time_Value ¤t_time) |
|
virtual ACE_Timer_Queue_Iterator_T< TYPE > & | iter (void) |
| Returns a pointer to this ACE_Timer_Queue's iterator. More...
|
|
virtual ACE_Timer_Node_T< TYPE > * | remove_first (void) |
| Removes the earliest node from the queue and returns it. More...
|
|
virtual void | dump (void) const |
| Dump the state of an object. More...
|
|
virtual ACE_Timer_Node_T< TYPE > * | get_first (void) |
| Reads the earliest node from the queue and returns it. More...
|
|
|
virtual long | schedule_i (const TYPE &type, const void *act, const ACE_Time_Value &future_time, const ACE_Time_Value &interval) |
|
virtual int | dispatch_info_i (const ACE_Time_Value ¤t_time, ACE_Timer_Node_Dispatch_Info_T< TYPE > &info) |
| Non-locking version of dispatch_info () More...
|
|
virtual void | reschedule (ACE_Timer_Node_T< TYPE > *) |
| Reschedule an "interval" ACE_Timer_Node. More...
|
|
void | find_new_earliest (void) |
| Finds the earliest node. More...
|
|
| ACE_Timer_Hash_T (const ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET > &) |
|
void | operator= (const ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET > &) |
|
template<class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET, typename TIME_POLICY = ACE_Default_Time_Policy>
class ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET, TIME_POLICY >
Provides a hash table of BUCKETs as an implementation for a timer queue.
This implementation uses a hash table of BUCKETs. The hash is based on the time_value of the event. Unlike other Timer Queues, ACE_Timer_Hash does not expire events in strict order, i.e., all events are expired after their deadline. But two events may expired out of order as defined by their deadlines.
template<class TYPE , class FUNCTOR , class ACE_LOCK , class BUCKET , typename TIME_POLICY >
Default constructor. upcall_functor is the instance of the FUNCTOR to be used by the queue. If upcall_functor is 0, Timer Hash will create a default FUNCTOR. freelist the freelist of timer nodes. If 0, then a default freelist will be created. The default size will be ACE_DEFAULT_TIMERS and there will be no preallocation.
template<class TYPE , class FUNCTOR , class ACE_LOCK , class BUCKET , typename TIME_POLICY >
int ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET, TIME_POLICY >::cancel |
( |
const TYPE & |
type, |
|
|
int |
dont_call_handle_close = 1 |
|
) |
| |
|
virtual |
Cancel all timer associated with type. If <dont_call> is 0 then the <functor> will be invoked. Returns number of timers cancelled. If any valid timer is not cancelled before destruction of this instance of ACE_Timer_Hash_T then user will get a memory leak.
template<class TYPE , class FUNCTOR , class ACE_LOCK , class BUCKET , typename TIME_POLICY >
int ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET, TIME_POLICY >::cancel |
( |
long |
timer_id, |
|
|
const void ** |
act = 0 , |
|
|
int |
dont_call_handle_close = 1 |
|
) |
| |
|
virtual |
Cancel the single timer that matches the timer_id value (which was returned from the <schedule> method). If act is non-NULL then it will be set to point to the `‘magic cookie’' argument passed in when the timer was registered. This makes it possible to free up the memory and avoid memory leaks. If dont_call_handle_close is 0 then the <functor> will be invoked. Returns 1 if cancellation succeeded and 0 if the timer_id wasn't found. If any valid timer is not cancelled before destruction of this instance of ACE_Timer_Hash_T then user will get a memory leak.
template<class TYPE , class FUNCTOR , class ACE_LOCK , class BUCKET , typename TIME_POLICY >
Resets the interval of the timer represented by timer_id to interval, which is specified in relative time to the current <gettimeofday>. If interval is equal to ACE_Time_Value::zero, the timer will become a non-rescheduling timer. Returns 0 if successful, -1 if not.
template<class TYPE , class FUNCTOR , class ACE_LOCK , class BUCKET , typename TIME_POLICY >
Schedule type that will expire at future_time, which is specified in absolute time. If it expires then act is passed in as the value to the <functor>. If interval is != to ACE_Time_Value::zero then it is used to reschedule the type automatically, using relative time to the current <gettimeofday>. This method returns a <timer_id> that is a pointer to a token which stores information about the event. This <timer_id> can be used to cancel the timer before it expires. Returns -1 on failure.