TAO_EC_Reactive_SupplierControl Class Reference

SupplierControl. More...

#include <EC_Reactive_SupplierControl.h>

Inheritance diagram for TAO_EC_Reactive_SupplierControl:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Reactive_SupplierControl:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_EC_Reactive_SupplierControl (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_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_EC_ProxyPushConsumer *proxy)
virtual void system_exception (TAO_EC_ProxyPushConsumer *proxy, CORBA::SystemException &)

Private Member Functions

void query_suppliers (void)

Private Attributes

ACE_Time_Value rate_
 The polling rate.
ACE_Time_Value timeout_
 The polling timeout.
TAO_EC_SupplierControl_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

SupplierControl.

Defines the interface for the supplier control strategy. This strategy handles misbehaving or failing suppliers.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Reactive_SupplierControl::TAO_EC_Reactive_SupplierControl ( 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_SupplierControl::~TAO_EC_Reactive_SupplierControl ( void   )  [virtual]

Destructor.


Member Function Documentation

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

Receive the timeout from the adapter.

int TAO_EC_Reactive_SupplierControl::activate ( void   )  [virtual]

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

Reimplemented from TAO_EC_SupplierControl.

int TAO_EC_Reactive_SupplierControl::shutdown ( void   )  [virtual]

Reimplemented from TAO_EC_SupplierControl.

void TAO_EC_Reactive_SupplierControl::supplier_not_exist ( TAO_EC_ProxyPushConsumer proxy  )  [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_EC_SupplierControl.

void TAO_EC_Reactive_SupplierControl::system_exception ( TAO_EC_ProxyPushConsumer proxy,
CORBA::SystemException  
) [virtual]

Some system exception was raised while trying to contact the supplier

Reimplemented from TAO_EC_SupplierControl.

void TAO_EC_Reactive_SupplierControl::query_suppliers ( void   )  [private]

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


Member Data Documentation

ACE_Time_Value TAO_EC_Reactive_SupplierControl::rate_ [private]

The polling rate.

ACE_Time_Value TAO_EC_Reactive_SupplierControl::timeout_ [private]

The polling timeout.

TAO_EC_SupplierControl_Adapter TAO_EC_Reactive_SupplierControl::adapter_ [private]

The Adapter for the reactor events.

TAO_EC_Event_Channel_Base* TAO_EC_Reactive_SupplierControl::event_channel_ [private]

The event channel.

CORBA::ORB_var TAO_EC_Reactive_SupplierControl::orb_ [private]

The ORB.

CORBA::PolicyCurrent_var TAO_EC_Reactive_SupplierControl::policy_current_ [private]

To control the timeout policy in the thread.

CORBA::PolicyList TAO_EC_Reactive_SupplierControl::policy_list_ [private]

Precomputed policy list to the set timeout.

ACE_Reactor* TAO_EC_Reactive_SupplierControl::reactor_ [private]

The ORB reactor.

long TAO_EC_Reactive_SupplierControl::timer_id_ [private]

The timer id.


The documentation for this class was generated from the following files:
Generated on Fri Dec 14 04:06:47 2007 for TAO_RTEvent by  doxygen 1.5.3-6