#include <CEC_Reactive_ConsumerControl.h>
Inheritance diagram for TAO_CEC_Reactive_ConsumerControl:
Public Methods | |
TAO_CEC_Reactive_ConsumerControl (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. More... | |
virtual | ~TAO_CEC_Reactive_ConsumerControl (void) |
destructor... More... | |
void | handle_timeout (const ACE_Time_Value &tv, const void *arg) |
Receive the timeout from the adapter. More... | |
virtual int | activate (void) |
Activate any internal threads or timers used to poll the state of the consumers. More... | |
virtual int | shutdown (void) |
virtual void | consumer_not_exist (TAO_CEC_ProxyPushSupplier *proxy ACE_ENV_ARG_DECL_NOT_USED) |
When pushing an event to the consumer a CORBA::OBJECT_NOT_EXIST exception was raised. More... | |
virtual void | consumer_not_exist (TAO_CEC_ProxyPullSupplier *proxy ACE_ENV_ARG_DECL_NOT_USED) |
Invoked by helper classes when they detect that a consumer no longer exists (i.e. More... | |
virtual void | system_exception (TAO_CEC_ProxyPushSupplier *proxy, CORBA::SystemException &ACE_ENV_ARG_DECL_NOT_USED) |
Some system exception was rasied while trying to push an event. More... | |
Private Methods | |
void | query_consumers (ACE_ENV_SINGLE_ARG_DECL) |
Check if the consumers still exists. It is a helper method for handle_timeout() to isolate the exceptions. More... | |
Private Attributes | |
ACE_Time_Value | rate_ |
The polling rate. More... | |
TAO_CEC_ConsumerControl_Adapter | adapter_ |
The Adapter for the reactor events. More... | |
TAO_CEC_EventChannel * | event_channel_ |
The event channel. More... | |
CORBA::ORB_var | orb_ |
The ORB. More... | |
CORBA::PolicyCurrent_var | policy_current_ |
To control the timeout policy in the thread. More... | |
CORBA::PolicyList | policy_list_ |
Precomputed policy list to the set timeout. More... | |
ACE_Reactor * | reactor_ |
The ORB reactor. More... | |
int | timer_id_ |
The timer id. More... |
Defines the interface for the consumer control strategy. This strategy handles misbehaving or failing consumers. = MEMORY MANAGMENT = LOCKING = TODO
|
Constructor. It does not assume ownership of the <event_channel> parameter.
|
|
destructor...
|
|
Activate any internal threads or timers used to poll the state of the consumers.
Reimplemented from TAO_CEC_ConsumerControl. |
|
Invoked by helper classes when they detect that a consumer no longer exists (i.e. _non_existent() returns true and/or the CORBA::OBJECT_NOT_EXIST exception has been raised). Reimplemented from TAO_CEC_ConsumerControl. |
|
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_CEC_ConsumerControl. |
|
Receive the timeout from the adapter.
|
|
Check if the consumers still exists. It is a helper method for handle_timeout() to isolate the exceptions.
|
|
Reimplemented from TAO_CEC_ConsumerControl. |
|
Some system exception was rasied while trying to push an event.
Reimplemented from TAO_CEC_ConsumerControl. |
|
The Adapter for the reactor events.
|
|
The event channel.
|
|
The ORB.
|
|
To control the timeout policy in the thread.
|
|
Precomputed policy list to the set timeout.
|
|
The polling rate.
|
|
The ORB reactor.
|
|
The timer id.
|