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

TAO_CEC_Reactive_SupplierControl Class Reference

SupplierControl. More...

#include <CEC_Reactive_SupplierControl.h>

Inheritance diagram for TAO_CEC_Reactive_SupplierControl

Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_Reactive_SupplierControl:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate, TAO_CEC_EventChannel *event_channel, CORBA::ORB_ptr orb)
 Constructor. It does not assume ownership of the <event_channel> parameter.

virtual ~TAO_CEC_Reactive_SupplierControl (void)
 destructor...

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

virtual int activate (void)
 Activate any internal threads or timers used to poll the state of the suppliers.

virtual int shutdown (void)
virtual void supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy, CORBA::Environment &)
virtual void supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy, CORBA::Environment &)
virtual void system_exception (TAO_CEC_ProxyPullConsumer *proxy, CORBA::SystemException &, CORBA::Environment &)
 Some system exception was rasied while trying to push an event.


Private Methods

void query_suppliers (CORBA::Environment &ACE_TRY_ENV)
 Check if the suppliers still exists. It is a helper method for handle_timeout() to isolate the exceptions.


Private Attributes

ACE_Time_Value rate_
 The polling rate.

TAO_CEC_SupplierControl_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

SupplierControl.

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


Constructor & Destructor Documentation

TAO_CEC_Reactive_SupplierControl::TAO_CEC_Reactive_SupplierControl ( const ACE_Time_Value & rate,
TAO_CEC_EventChannel * event_channel,
CORBA::ORB_ptr orb ) [inline]
 

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

TAO_CEC_Reactive_SupplierControl::~TAO_CEC_Reactive_SupplierControl ( void ) [virtual]
 

destructor...


Member Function Documentation

int TAO_CEC_Reactive_SupplierControl::activate ( void ) [virtual]
 

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

Reimplemented from TAO_CEC_SupplierControl.

void TAO_CEC_Reactive_SupplierControl::handle_timeout ( const ACE_Time_Value & tv,
const void * arg )
 

Receive the timeout from the adapter.

void TAO_CEC_Reactive_SupplierControl::query_suppliers ( CORBA::Environment & ACE_TRY_ENV ) [private]
 

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

int TAO_CEC_Reactive_SupplierControl::shutdown ( void ) [virtual]
 

Reimplemented from TAO_CEC_SupplierControl.

void TAO_CEC_Reactive_SupplierControl::supplier_not_exist ( TAO_CEC_ProxyPullConsumer * proxy,
CORBA::Environment & ACE_TRY_ENV ) [virtual]
 

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

Reimplemented from TAO_CEC_SupplierControl.

void TAO_CEC_Reactive_SupplierControl::supplier_not_exist ( TAO_CEC_ProxyPushConsumer * proxy,
CORBA::Environment & ACE_TRY_ENV ) [virtual]
 

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

Reimplemented from TAO_CEC_SupplierControl.

void TAO_CEC_Reactive_SupplierControl::system_exception ( TAO_CEC_ProxyPullConsumer * proxy,
CORBA::SystemException &,
CORBA::Environment & ACE_TRY_ENV ) [virtual]
 

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

Reimplemented from TAO_CEC_SupplierControl.


Member Data Documentation

TAO_CEC_SupplierControl_Adapter TAO_CEC_Reactive_SupplierControl::adapter_ [private]
 

The Adapter for the reactor events.

TAO_CEC_EventChannel * TAO_CEC_Reactive_SupplierControl::event_channel_ [private]
 

The event channel.

CORBA::ORB_var TAO_CEC_Reactive_SupplierControl::orb_ [private]
 

The ORB.

CORBA::PolicyCurrent_var TAO_CEC_Reactive_SupplierControl::policy_current_ [private]
 

To control the timeout policy in the thread.

CORBA::PolicyList TAO_CEC_Reactive_SupplierControl::policy_list_ [private]
 

Precomputed policy list to the set timeout.

ACE_Time_Value TAO_CEC_Reactive_SupplierControl::rate_ [private]
 

The polling rate.

ACE_Reactor * TAO_CEC_Reactive_SupplierControl::reactor_ [private]
 

The ORB reactor.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 12:32:10 2001 for TAO_CosEvent by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000