TAO_RTEvent 4.0.2
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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]

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 ()
 Destructor.
 
void handle_timeout (const ACE_Time_Value &tv, const void *arg)
 Receive the timeout from the adapter.
 
virtual int activate ()
 
virtual int shutdown ()
 
virtual void supplier_not_exist (TAO_EC_ProxyPushConsumer *proxy)
 
virtual void system_exception (TAO_EC_ProxyPushConsumer *proxy, CORBA::SystemException &)
 
- Public Member Functions inherited from TAO_EC_SupplierControl
 TAO_EC_SupplierControl ()
 Constructor.
 
virtual ~TAO_EC_SupplierControl ()
 Destructor.
 

Private Member Functions

void query_suppliers ()
 

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.
 

Detailed Description

SupplierControl.

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

Constructor & Destructor Documentation

◆ TAO_EC_Reactive_SupplierControl()

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::~TAO_EC_Reactive_SupplierControl ( )
virtual

Destructor.

Member Function Documentation

◆ activate()

int TAO_EC_Reactive_SupplierControl::activate ( )
virtual

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

Reimplemented from TAO_EC_SupplierControl.

◆ handle_timeout()

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

Receive the timeout from the adapter.

◆ query_suppliers()

void TAO_EC_Reactive_SupplierControl::query_suppliers ( )
private

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

◆ shutdown()

int TAO_EC_Reactive_SupplierControl::shutdown ( )
virtual

Reimplemented from TAO_EC_SupplierControl.

◆ supplier_not_exist()

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.

◆ system_exception()

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.

Member Data Documentation

◆ adapter_

TAO_EC_SupplierControl_Adapter TAO_EC_Reactive_SupplierControl::adapter_
private

The Adapter for the reactor events.

◆ event_channel_

TAO_EC_Event_Channel_Base* TAO_EC_Reactive_SupplierControl::event_channel_
private

The event channel.

◆ orb_

CORBA::ORB_var TAO_EC_Reactive_SupplierControl::orb_
private

The ORB.

◆ policy_current_

CORBA::PolicyCurrent_var TAO_EC_Reactive_SupplierControl::policy_current_
private

To control the timeout policy in the thread.

◆ policy_list_

CORBA::PolicyList TAO_EC_Reactive_SupplierControl::policy_list_
private

Precomputed policy list to the set timeout.

◆ rate_

ACE_Time_Value TAO_EC_Reactive_SupplierControl::rate_
private

The polling rate.

◆ reactor_

ACE_Reactor* TAO_EC_Reactive_SupplierControl::reactor_
private

The ORB reactor.

◆ timeout_

ACE_Time_Value TAO_EC_Reactive_SupplierControl::timeout_
private

The polling timeout.


The documentation for this class was generated from the following files: