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

# TAO_EC_Reactive_SupplierControl Class Reference

SupplierControl. More...

`#include <EC_Reactive_SupplierControl.h>`

Inheritance diagram for TAO_EC_Reactive_SupplierControl:

[legend]
Collaboration diagram for TAO_EC_Reactive_SupplierControl:

[legend]
List of all members.

## Public Methods

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

## 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_EC_SupplierControl_Adapter | adapter_
| The Adapter for the reactor events.
TAO_EC_Event_Channel_Base * | event_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_Reactor * | reactor_
| 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 | ( | 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

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.

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

| Receive the timeout from the adapter.

void TAO_EC_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_EC_Reactive_SupplierControl::shutdown | ( | void |  | ) | `[virtual]`

| Reimplemented from TAO_EC_SupplierControl.

void TAO_EC_Reactive_SupplierControl::supplier_not_exist | ( | TAO_EC_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_EC_SupplierControl.

void TAO_EC_Reactive_SupplierControl::system_exception | ( | TAO_EC_ProxyPushConsumer * | proxy,
|  | CORBA::SystemException & | ACE_ENV_ARG_DECL_NOT_USED
| ) | `[virtual]`

| Some system exception was raised while trying to contact the supplier Reimplemented from TAO_EC_SupplierControl.

## Member Data Documentation

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_Time_Value TAO_EC_Reactive_SupplierControl::rate_`[private]`

| The polling rate.

ACE_Reactor* TAO_EC_Reactive_SupplierControl::reactor_`[private]`

| The ORB reactor.

ACE_Time_Value TAO_EC_Reactive_SupplierControl::timeout_`[private]`

| The polling timeout.

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

- EC_Reactive_SupplierControl.h
- EC_Reactive_SupplierControl.cpp