Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Timer_Hash_Upcall Class Template Reference

Functor for Timer_Hash. More...

#include <Timer_Hash_T.h>

Collaboration diagram for ACE_Timer_Hash_Upcall:

Collaboration graph
[legend]
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 Methods

 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). More...

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

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

int cancellation (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler)
 This method is called when the timer is cancelled. More...

int 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. More...


Private Methods

 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. More...


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 38 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::TIMER_QUEUE
 

Definition at line 44 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 37 of file Timer_Hash_T.cpp.

00038   : timer_hash_ (0)
00039 {
00040   // Nothing
00041 }

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 46 of file Timer_Hash_T.cpp.

00047   : timer_hash_ (timer_hash)
00048 {
00049   // Nothing
00050 }

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 >::cancellation TIMER_QUEUE   timer_queue,
ACE_Event_Handler   handler
 

This method is called when the timer is cancelled.

Definition at line 78 of file Timer_Hash_T.cpp.

References timer_hash_.

00080 {
00081   ACE_UNUSED_ARG (timer_queue);
00082   return this->timer_hash_->upcall_functor ().cancellation (*this->timer_hash_,
00083                                                             handler);
00084 }

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 90 of file Timer_Hash_T.cpp.

References Hash_Token::act_, and timer_hash_.

00093 {
00094   ACE_UNUSED_ARG (timer_queue);
00095 
00096   Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
00097                                         ACE_const_cast (void *,
00098                                                         arg));
00099   int result =
00100     this->timer_hash_->upcall_functor ().deletion (*this->timer_hash_,
00101                                                    handler,
00102                                                    h->act_);
00103   delete h;
00104   return result;
00105 }

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 >::timeout TIMER_QUEUE   timer_queue,
ACE_Event_Handler   handler,
const void *    arg,
const ACE_Time_Value   cur_time
 

This method is called when the timer expires.

Definition at line 55 of file Timer_Hash_T.cpp.

References Hash_Token::act_, and timer_hash_.

00059 {
00060   ACE_UNUSED_ARG (timer_queue);
00061 
00062   Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
00063                                         ACE_const_cast (void *,
00064                                                         arg));
00065   int result =
00066     this->timer_hash_->upcall_functor ().timeout (*this->timer_hash_,
00067                                                   handler,
00068                                                   h->act_,
00069                                                   cur_time);
00070   delete h;
00071   return result;
00072 }


Member Data Documentation

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

Timer Queue to do the calling up to.

Definition at line 71 of file Timer_Hash_T.h.

Referenced by cancellation, deletion, and timeout.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:57:56 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002