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

[legend]
Collaboration diagram for TAO_CEC_Reactive_SupplierControl:

[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.
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)
| Activate any internal threads or timers used to poll the state of the suppliers.
virtual int | shutdown (void)
virtual void | supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy, CORBA::Environment &)
virtual void | supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy, CORBA::Environment &)
virtual void | system_exception (TAO_CEC_ProxyPullConsumer *proxy, CORBA::SystemException &, CORBA::Environment &)
| Some system exception was rasied while trying to push an event.
## Private Methods
void | query_suppliers (CORBA::Environment &ACE_TRY_ENV)
| Check if the suppliers still exists. It is a helper method for handle_timeout() to isolate the exceptions.
## Private Attributes
ACE_Time_Value | rate_
| The polling rate.
TAO_CEC_SupplierControl_Adapter | adapter_
| The Adapter for the reactor events.
TAO_CEC_EventChannel* | 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. = MEMORY MANAGMENT = LOCKING = TODO

## Constructor & Destructor Documentation

TAO_CEC_Reactive_SupplierControl::TAO_CEC_Reactive_SupplierControl ( | const ACE_Time_Value & rate,
| TAO_CEC_EventChannel * event_channel,
| CORBA::ORB_ptr orb )`[inline]`

| 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 ( | CORBA::Environment & ACE_TRY_ENV )`[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,
| CORBA::Environment & ACE_TRY_ENV )`[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,
| CORBA::Environment & ACE_TRY_ENV )`[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 &,
| CORBA::Environment & ACE_TRY_ENV )`[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.

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

- CEC_Reactive_SupplierControl.h
- CEC_Reactive_SupplierControl.cpp