TAO_EC_Reactive_ConsumerControl Class Reference

ConsumerControl. More...

#include <EC_Reactive_ConsumerControl.h>

Inheritance diagram for TAO_EC_Reactive_ConsumerControl:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Reactive_ConsumerControl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Reactive_ConsumerControl (const ACE_Time_Value &rate, const ACE_Time_Value &timeout, TAO_EC_Event_Channel_Base *event_channel, CORBA::ORB_ptr orb)
virtual ~TAO_EC_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_EC_ProxyPushSupplier *proxy, CORBA::Environment &)
virtual void system_exception (TAO_EC_ProxyPushSupplier *proxy, CORBA::SystemException &, CORBA::Environment &)

Private Member Functions

void query_consumers (CORBA::Environment &_ACE_CORBA_Environment_variable)

Private Attributes

ACE_Time_Value rate_
 The polling rate.
ACE_Time_Value timeout_
 The polling timeout.
TAO_EC_ConsumerControl_Adapter adapter_
 The Adapter for the reactor events.
TAO_EC_Event_Channel_Baseevent_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.
long timer_id_
 The timer id.

Detailed Description

ConsumerControl.

Defines the interface for the consumer control strategy. This strategy handles misbehaving or failing consumers.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Reactive_ConsumerControl::TAO_EC_Reactive_ConsumerControl ( const ACE_Time_Value rate,
const ACE_Time_Value timeout,
TAO_EC_Event_Channel_Base event_channel,
CORBA::ORB_ptr  orb 
)

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

TAO_EC_Reactive_ConsumerControl::~TAO_EC_Reactive_ConsumerControl ( void   )  [virtual]

Destructor.


Member Function Documentation

int TAO_EC_Reactive_ConsumerControl::activate ( void   )  [virtual]

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

Reimplemented from TAO_EC_ConsumerControl.

void TAO_EC_Reactive_ConsumerControl::consumer_not_exist ( TAO_EC_ProxyPushSupplier proxy,
CORBA::Environment  
) [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_EC_ConsumerControl.

void TAO_EC_Reactive_ConsumerControl::handle_timeout ( const ACE_Time_Value tv,
const void *  arg 
)

Receive the timeout from the adapter.

void TAO_EC_Reactive_ConsumerControl::query_consumers ( CORBA::Environment _ACE_CORBA_Environment_variable  )  [private]

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

int TAO_EC_Reactive_ConsumerControl::shutdown ( void   )  [virtual]

Reimplemented from TAO_EC_ConsumerControl.

void TAO_EC_Reactive_ConsumerControl::system_exception ( TAO_EC_ProxyPushSupplier proxy,
CORBA::SystemException ,
CORBA::Environment  
) [virtual]

Some system exception was raised while trying to contact the consumer

Reimplemented from TAO_EC_ConsumerControl.


Member Data Documentation

TAO_EC_ConsumerControl_Adapter TAO_EC_Reactive_ConsumerControl::adapter_ [private]

The Adapter for the reactor events.

TAO_EC_Event_Channel_Base* TAO_EC_Reactive_ConsumerControl::event_channel_ [private]

The event channel.

CORBA::ORB_var TAO_EC_Reactive_ConsumerControl::orb_ [private]

The ORB.

CORBA::PolicyCurrent_var TAO_EC_Reactive_ConsumerControl::policy_current_ [private]

To control the timeout policy in the thread.

CORBA::PolicyList TAO_EC_Reactive_ConsumerControl::policy_list_ [private]

Precomputed policy list to the set timeout.

ACE_Time_Value TAO_EC_Reactive_ConsumerControl::rate_ [private]

The polling rate.

ACE_Reactor* TAO_EC_Reactive_ConsumerControl::reactor_ [private]

The ORB reactor.

ACE_Time_Value TAO_EC_Reactive_ConsumerControl::timeout_ [private]

The polling timeout.

long TAO_EC_Reactive_ConsumerControl::timer_id_ [private]

The timer id.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:55:19 2006 for TAO_RTEvent by  doxygen 1.4.7-1