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, const ACE_Time_Value &timeout, TAO_CEC_EventChannel *event_channel, CORBA::ORB_ptr orb)
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)
virtual int shutdown (void)
virtual void supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy ACE_ENV_ARG_DECL_NOT_USED)
virtual void supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy ACE_ENV_ARG_DECL_NOT_USED)
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.


Private Methods

void query_suppliers (ACE_ENV_SINGLE_ARG_DECL)

Private Attributes

ACE_Time_Value rate_
 The polling rate.

ACE_Time_Value timeout_
 The polling timeout.

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,
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_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_NOT_USED [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_NOT_USED [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_NOT_USED
[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.

ACE_Time_Value TAO_CEC_Reactive_SupplierControl::timeout_ [private]
 

The polling timeout.


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