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

virtual ~TAO_CEC_Reactive_SupplierControl (void)
 destructor... More...

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

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

virtual int shutdown (void)
virtual void supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy ACE_ENV_ARG_DECL_NOT_USED)
 Invoked by helper classes when they detect that a supplier does not exists (i.e. More...

virtual void supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy ACE_ENV_ARG_DECL_NOT_USED)
 Invoked by helper classes when they detect that a supplier does not exists (i.e. More...

virtual void system_exception (TAO_CEC_ProxyPullConsumer *proxy, CORBA::SystemException &ACE_ENV_ARG_DECL_NOT_USED)
 Some system exception was rasied while trying to push an event. More...


Private Methods

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


Private Attributes

ACE_Time_Value rate_
 The polling rate. More...

TAO_CEC_SupplierControl_Adapter adapter_
 The Adapter for the reactor events. More...

TAO_CEC_EventChannelevent_channel_
 The event channel. More...

CORBA::ORB_var orb_
 The ORB. More...

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

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

ACE_Reactorreactor_
 The ORB reactor. More...

int timer_id_
 The timer id. More...


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   ec,
CORBA::ORB_ptr    orb
 

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 ACE_ENV_SINGLE_ARG_DECL    [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    ACE_ENV_ARG_DECL [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    ACE_ENV_ARG_DECL [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   ACE_ENV_ARG_DECL
[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.

int TAO_CEC_Reactive_SupplierControl::timer_id_ [private]
 

The timer id.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 21:21:27 2002 for TAO_CosEvent by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001