Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TAO_CEC_Reactive_ConsumerControl Class Reference

ConsumerControl. More...

#include <CEC_Reactive_ConsumerControl.h>

Inheritance diagram for TAO_CEC_Reactive_ConsumerControl:

Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_Reactive_ConsumerControl:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate, const ACE_Time_Value &timeout, TAO_CEC_EventChannel *event_channel, CORBA::ORB_ptr orb)
virtual ~TAO_CEC_Reactive_ConsumerControl (void)
 destructor...

void handle_timeout (const ACE_Time_Value &tv, const void *arg)
 Receive the timeout from the adapter.

virtual int activate (void)
virtual int shutdown (void)
virtual void consumer_not_exist (TAO_CEC_ProxyPushSupplier *proxy ACE_ENV_ARG_DECL_NOT_USED)
virtual void consumer_not_exist (TAO_CEC_ProxyPullSupplier *proxy ACE_ENV_ARG_DECL_NOT_USED)
virtual void system_exception (TAO_CEC_ProxyPushSupplier *proxy, CORBA::SystemException &ACE_ENV_ARG_DECL_NOT_USED)
 Some system exception was rasied while trying to push an event.


Private Methods

void query_consumers (ACE_ENV_SINGLE_ARG_DECL)

Private Attributes

ACE_Time_Value rate_
 The polling rate.

ACE_Time_Value timeout_
 The polling timeout.

TAO_CEC_ConsumerControl_Adapter adapter_
 The Adapter for the reactor events.

TAO_CEC_EventChannelevent_channel_
 The event channel.

CORBA::ORB_var orb_
 The ORB.

CORBA::PolicyCurrent_var policy_current_
 To control the timeout policy in the thread.

CORBA::PolicyList policy_list_
 Precomputed policy list to the set timeout.

ACE_Reactorreactor_
 The ORB reactor.


Detailed Description

ConsumerControl.

Defines the interface for the consumer control strategy. This strategy handles misbehaving or failing consumers. = MEMORY MANAGMENT = LOCKING = TODO


Constructor & Destructor Documentation

TAO_CEC_Reactive_ConsumerControl::TAO_CEC_Reactive_ConsumerControl const ACE_Time_Value   rate,
const ACE_Time_Value   timeout,
TAO_CEC_EventChannel   event_channel,
CORBA::ORB_ptr    orb
 

Constructor. It does not assume ownership of the <event_channel> parameter.

TAO_CEC_Reactive_ConsumerControl::~TAO_CEC_Reactive_ConsumerControl void    [virtual]
 

destructor...


Member Function Documentation

int TAO_CEC_Reactive_ConsumerControl::activate void    [virtual]
 

Activate any internal threads or timers used to poll the state of the consumers

Reimplemented from TAO_CEC_ConsumerControl.

void TAO_CEC_Reactive_ConsumerControl::consumer_not_exist TAO_CEC_ProxyPullSupplier *proxy    ACE_ENV_ARG_DECL_NOT_USED [virtual]
 

Invoked by helper classes when they detect that a consumer no longer exists (i.e. _non_existent() returns true and/or the CORBA::OBJECT_NOT_EXIST exception has been raised).

Reimplemented from TAO_CEC_ConsumerControl.

void TAO_CEC_Reactive_ConsumerControl::consumer_not_exist TAO_CEC_ProxyPushSupplier *proxy    ACE_ENV_ARG_DECL_NOT_USED [virtual]
 

When pushing an event to the consumer a CORBA::OBJECT_NOT_EXIST exception was raised. The only interpretation is that the object has been destroyed. The strategy has to (at the very least), reclaim all the resources attached to that object.

Reimplemented from TAO_CEC_ConsumerControl.

void TAO_CEC_Reactive_ConsumerControl::handle_timeout const ACE_Time_Value   tv,
const void   arg
 

Receive the timeout from the adapter.

void TAO_CEC_Reactive_ConsumerControl::query_consumers ACE_ENV_SINGLE_ARG_DECL    [private]
 

Check if the consumers still exists. It is a helper method for handle_timeout() to isolate the exceptions.

int TAO_CEC_Reactive_ConsumerControl::shutdown void    [virtual]
 

Reimplemented from TAO_CEC_ConsumerControl.

void TAO_CEC_Reactive_ConsumerControl::system_exception TAO_CEC_ProxyPushSupplier   proxy,
CORBA::SystemException   ACE_ENV_ARG_DECL_NOT_USED
[virtual]
 

Some system exception was rasied while trying to push an event.

Reimplemented from TAO_CEC_ConsumerControl.


Member Data Documentation

TAO_CEC_ConsumerControl_Adapter TAO_CEC_Reactive_ConsumerControl::adapter_ [private]
 

The Adapter for the reactor events.

TAO_CEC_EventChannel* TAO_CEC_Reactive_ConsumerControl::event_channel_ [private]
 

The event channel.

CORBA::ORB_var TAO_CEC_Reactive_ConsumerControl::orb_ [private]
 

The ORB.

CORBA::PolicyCurrent_var TAO_CEC_Reactive_ConsumerControl::policy_current_ [private]
 

To control the timeout policy in the thread.

CORBA::PolicyList TAO_CEC_Reactive_ConsumerControl::policy_list_ [private]
 

Precomputed policy list to the set timeout.

ACE_Time_Value TAO_CEC_Reactive_ConsumerControl::rate_ [private]
 

The polling rate.

ACE_Reactor* TAO_CEC_Reactive_ConsumerControl::reactor_ [private]
 

The ORB reactor.

ACE_Time_Value TAO_CEC_Reactive_ConsumerControl::timeout_ [private]
 

The polling timeout.


The documentation for this class was generated from the following files:
Generated on Thu Jan 15 00:30:43 2004 for TAO_CosEvent by doxygen1.2.18