TAO_EC_Reactive_Timeout_Generator Class Reference

A simple implementation of the Timeout_Generator based on the Reactor. More...

#include <EC_Reactive_Timeout_Generator.h>

Inheritance diagram for TAO_EC_Reactive_Timeout_Generator:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Reactive_Timeout_Generator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Reactive_Timeout_Generator (ACE_Reactor *reactor=0)
virtual ~TAO_EC_Reactive_Timeout_Generator (void)
 destructor

virtual void activate (void)
 Activate any internal threads.

virtual void shutdown (void)
virtual int schedule_timer (TAO_EC_Timeout_Filter *filter, const ACE_Time_Value &delta, const ACE_Time_Value &interval)
 Add a timer at the given priority, returns the timer ID.

virtual int cancel_timer (const TAO_EC_QOS_Info &info, int id)
 Cancel a timer at the given priority.


Private Attributes

ACE_Reactorreactor_
 The reactor.

TAO_EC_Timeout_Adapter event_handler_
 An adapter to receive the timeout events.


Detailed Description

A simple implementation of the Timeout_Generator based on the Reactor.

Implements the Timeout_Generator using an ACE_Reactor. Usually the same reactor that is used by the ORB where the EC runs.

Definition at line 38 of file EC_Reactive_Timeout_Generator.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Reactive_Timeout_Generator::TAO_EC_Reactive_Timeout_Generator ACE_Reactor reactor = 0  ) 
 

Constructor. If is 0 then we use the reactor in the ORB singleton.

Definition at line 13 of file EC_Reactive_Timeout_Generator.cpp.

00014  : reactor_ (reactor)
00015 {
00016 }

TAO_EC_Reactive_Timeout_Generator::~TAO_EC_Reactive_Timeout_Generator void   )  [virtual]
 

destructor

Definition at line 18 of file EC_Reactive_Timeout_Generator.cpp.

00019 {
00020 }


Member Function Documentation

void TAO_EC_Reactive_Timeout_Generator::activate void   )  [virtual]
 

Activate any internal threads.

Implements TAO_EC_Timeout_Generator.

Definition at line 23 of file EC_Reactive_Timeout_Generator.cpp.

00024 {
00025 }

int TAO_EC_Reactive_Timeout_Generator::cancel_timer const TAO_EC_QOS_Info info,
int  id
[virtual]
 

Cancel a timer at the given priority.

Implements TAO_EC_Timeout_Generator.

Definition at line 47 of file EC_Reactive_Timeout_Generator.cpp.

References ACE_Reactor::cancel_timer().

00050 {
00051   const void *vp;
00052 
00053   return this->reactor_->cancel_timer (id, &vp);
00054 }

int TAO_EC_Reactive_Timeout_Generator::schedule_timer TAO_EC_Timeout_Filter filter,
const ACE_Time_Value delta,
const ACE_Time_Value interval
[virtual]
 

Add a timer at the given priority, returns the timer ID.

Implements TAO_EC_Timeout_Generator.

Definition at line 35 of file EC_Reactive_Timeout_Generator.cpp.

References ACE_Reactor::schedule_timer().

00039 {
00040   return this->reactor_->schedule_timer (&this->event_handler_,
00041                                          static_cast<void*> (filter),
00042                                          delta,
00043                                          interval);
00044 }

void TAO_EC_Reactive_Timeout_Generator::shutdown void   )  [virtual]
 

Deactivate any internal threads, clients can destroy the object after calling this method.

Implements TAO_EC_Timeout_Generator.

Definition at line 28 of file EC_Reactive_Timeout_Generator.cpp.

References ACE_Reactor::cancel_timer(), and ACE_Event_Handler::reactor().

00029 {
00030   this->reactor_->cancel_timer (&this->event_handler_);
00031   this->event_handler_.reactor (0);
00032 }


Member Data Documentation

TAO_EC_Timeout_Adapter TAO_EC_Reactive_Timeout_Generator::event_handler_ [private]
 

An adapter to receive the timeout events.

Definition at line 63 of file EC_Reactive_Timeout_Generator.h.

ACE_Reactor* TAO_EC_Reactive_Timeout_Generator::reactor_ [private]
 

The reactor.

Definition at line 60 of file EC_Reactive_Timeout_Generator.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:15:33 2006 for TAO_RTEvent by doxygen 1.3.6