ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK > Class Template Reference

Functor for Timer_Hash. More...

#include <Timer_Hash_T.h>

List of all members.

Public Types

typedef ACE_Timer_Queue_T<
ACE_Event_Handler *, ACE_Timer_Hash_Upcall<
TYPE, FUNCTOR, ACE_LOCK >,
ACE_Null_Mutex
TIMER_QUEUE

Public Member Functions

 ACE_Timer_Hash_Upcall (void)
 ACE_Timer_Hash_Upcall (ACE_Timer_Queue_T< TYPE, FUNCTOR, ACE_LOCK > *timer_hash)
 Constructor that specifies a Timer_Hash to call up to.

int registration (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg)
 This method is called when a timer is registered.

int preinvoke (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg, int recurring_timer, const ACE_Time_Value &cur_time, const void *&upcall_act)
 This method is called before the timer expires.

int timeout (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg, int recurring_timer, const ACE_Time_Value &cur_time)
 This method is called when the timer expires.

int postinvoke (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg, int recurring_timer, const ACE_Time_Value &cur_time, const void *upcall_act)
 This method is called after the timer expires.

int cancel_type (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, int dont_call, int &requires_reference_counting)
 This method is called when a handler is cancelled.

int cancel_timer (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, int dont_call, int requires_reference_counting)
 This method is called when a timer is cancelled.

int deletion (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg)

Private Member Functions

 ACE_Timer_Hash_Upcall (const ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK > &)
void operator= (const ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK > &)

Private Attributes

ACE_Timer_Queue_T< TYPE, FUNCTOR,
ACE_LOCK > * 
timer_hash_
 Timer Queue to do the calling up to.


Detailed Description

template<class TYPE, class FUNCTOR, class ACE_LOCK>
class ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >

Functor for Timer_Hash.

This class calls up to the Timer Hash's functor from the timer queues in the hash table

Definition at line 40 of file Timer_Hash_T.h.


Member Typedef Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
typedef ACE_Timer_Queue_T<ACE_Event_Handler *, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex> ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::TIMER_QUEUE
 

Definition at line 46 of file Timer_Hash_T.h.


Constructor & Destructor Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Hash_Upcall void   ) 
 

Default constructor (creates an invalid object, but needs to be here so timer queues using this functor can be constructed)

Definition at line 42 of file Timer_Hash_T.cpp.

00043   : timer_hash_ (0)
00044 {
00045   // Nothing
00046 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Hash_Upcall ACE_Timer_Queue_T< TYPE, FUNCTOR, ACE_LOCK > *  timer_hash  ) 
 

Constructor that specifies a Timer_Hash to call up to.

Definition at line 51 of file Timer_Hash_T.cpp.

00052   : timer_hash_ (timer_hash)
00053 {
00054   // Nothing
00055 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Hash_Upcall const ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK > &   )  [private]
 


Member Function Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::cancel_timer TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
int  dont_call,
int  requires_reference_counting
 

This method is called when a timer is cancelled.

Definition at line 121 of file Timer_Hash_T.cpp.

00125 {
00126   // Cancellation will be handled by the upcall functor of the timer
00127   // hash.
00128   return 0;
00129 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::cancel_type TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
int  dont_call,
int &  requires_reference_counting
 

This method is called when a handler is cancelled.

Definition at line 110 of file Timer_Hash_T.cpp.

00114 {
00115   // Cancellation will be handled by the upcall functor of the timer
00116   // hash.
00117   return 0;
00118 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::deletion TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
const void *  arg
 

This method is called when the timer queue is destroyed and the timer is still contained in it

Definition at line 132 of file Timer_Hash_T.cpp.

References Hash_Token< TYPE >::act_, and ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::timer_hash_.

00135 {
00136   // Call up to the upcall functor of the timer hash since the timer
00137   // hash does not invoke deletion() on its upcall functor directly.
00138   Hash_Token<TYPE> *h =
00139     reinterpret_cast<Hash_Token<TYPE> *> (const_cast<void *> (arg));
00140 
00141   int result =
00142     this->timer_hash_->upcall_functor ().
00143     deletion (*this->timer_hash_,
00144               event_handler,
00145               h->act_);
00146 
00147   delete h;
00148 
00149   return result;
00150 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
void ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::operator= const ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK > &   )  [private]
 

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::postinvoke TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
const void *  arg,
int  recurring_timer,
const ACE_Time_Value cur_time,
const void *  upcall_act
 

This method is called after the timer expires.

Definition at line 82 of file Timer_Hash_T.cpp.

References ACE_ASSERT.

00088 {
00089   // This method should never be invoked since we don't invoke
00090   // expire() on the buckets.
00091   ACE_ASSERT (0);
00092   return 0;
00093 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::preinvoke TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
const void *  arg,
int  recurring_timer,
const ACE_Time_Value cur_time,
const void *&  upcall_act
 

This method is called before the timer expires.

Definition at line 68 of file Timer_Hash_T.cpp.

References ACE_ASSERT.

00074 {
00075   // This method should never be invoked since we don't invoke
00076   // expire() on the buckets.
00077   ACE_ASSERT (0);
00078   return 0;
00079 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::registration TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
const void *  arg
 

This method is called when a timer is registered.

Definition at line 58 of file Timer_Hash_T.cpp.

00061 {
00062   // Registration will be handled by the upcall functor of the timer
00063   // hash.
00064   return 0;
00065 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::timeout TIMER_QUEUE timer_queue,
ACE_Event_Handler handler,
const void *  arg,
int  recurring_timer,
const ACE_Time_Value cur_time
 

This method is called when the timer expires.

Definition at line 97 of file Timer_Hash_T.cpp.

References ACE_ASSERT.

00102 {
00103   // This method should never be invoked since we don't invoke
00104   // expire() on the buckets.
00105   ACE_ASSERT (0);
00106   return 0;
00107 }


Member Data Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>* ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::timer_hash_ [private]
 

Timer Queue to do the calling up to.

Definition at line 103 of file Timer_Hash_T.h.

Referenced by ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >::deletion().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:31:15 2006 for ACE by doxygen 1.3.6