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

# TAO_EC_Reactive_ConsumerControl Class Reference

ConsumerControl. More...

`#include <EC_Reactive_ConsumerControl.h>`

Inheritance diagram for TAO_EC_Reactive_ConsumerControl:

[legend]
Collaboration diagram for TAO_EC_Reactive_ConsumerControl:

[legend]
List of all members.

## Public Methods
| TAO_EC_Reactive_ConsumerControl (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_ConsumerControl (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 | consumer_not_exist (TAO_EC_ProxyPushSupplier *proxy ACE_ENV_ARG_DECL_NOT_USED)
virtual void | system_exception (TAO_EC_ProxyPushSupplier *proxy, CORBA::SystemException &ACE_ENV_ARG_DECL_NOT_USED)
## Private Methods
void | query_consumers (ACE_ENV_SINGLE_ARG_DECL)
## Private Attributes
ACE_Time_Value | rate_
| The polling rate.
ACE_Time_Value | timeout_
| The polling timeout.
TAO_EC_ConsumerControl_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

ConsumerControl.

Defines the interface for the consumer control strategy. This strategy handles misbehaving or failing consumers.

## Constructor & Destructor Documentation

TAO_EC_Reactive_ConsumerControl::TAO_EC_Reactive_ConsumerControl | ( | 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_ConsumerControl::~TAO_EC_Reactive_ConsumerControl | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

int TAO_EC_Reactive_ConsumerControl::activate | ( | void |  | ) | `[virtual]`

| Activate any internal threads or timers used to poll the state of the consumers Reimplemented from TAO_EC_ConsumerControl.

void TAO_EC_Reactive_ConsumerControl::consumer_not_exist | ( | TAO_EC_ProxyPushSupplier *proxy | ACE_ENV_ARG_DECL_NOT_USED | ) | `[virtual]`

| When pushing an event to the consumer a CORBA::OBJECT_NOT_EXIST exception was raised. The only interpretation is that the object has been destroyed. The strategy has to (at the very least), reclaim all the resources attached to that object. Reimplemented from TAO_EC_ConsumerControl.

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

| Receive the timeout from the adapter.

void TAO_EC_Reactive_ConsumerControl::query_consumers | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | `[private]`

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

int TAO_EC_Reactive_ConsumerControl::shutdown | ( | void |  | ) | `[virtual]`

| Reimplemented from TAO_EC_ConsumerControl.

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

| Some system exception was raised while trying to contact the consumer Reimplemented from TAO_EC_ConsumerControl.

## Member Data Documentation

TAO_EC_ConsumerControl_Adapter TAO_EC_Reactive_ConsumerControl::adapter_`[private]`

| The Adapter for the reactor events.

TAO_EC_Event_Channel_Base* TAO_EC_Reactive_ConsumerControl::event_channel_`[private]`

| The event channel.

CORBA::ORB_var TAO_EC_Reactive_ConsumerControl::orb_`[private]`

| The ORB.

CORBA::PolicyCurrent_var TAO_EC_Reactive_ConsumerControl::policy_current_`[private]`

| To control the timeout policy in the thread.

CORBA::PolicyList TAO_EC_Reactive_ConsumerControl::policy_list_`[private]`

| Precomputed policy list to the set timeout.

ACE_Time_Value TAO_EC_Reactive_ConsumerControl::rate_`[private]`

| The polling rate.

ACE_Reactor* TAO_EC_Reactive_ConsumerControl::reactor_`[private]`

| The ORB reactor.

ACE_Time_Value TAO_EC_Reactive_ConsumerControl::timeout_`[private]`

| The polling timeout.

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

- EC_Reactive_ConsumerControl.h
- EC_Reactive_ConsumerControl.cpp