TAO_CosEvent
2.0.8
|
SupplierControl. More...
#include <CEC_Reactive_SupplierControl.h>
Public Member Functions | |
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate, const ACE_Time_Value &timeout, unsigned int retries, TAO_CEC_EventChannel *event_channel, CORBA::ORB_ptr orb) | |
virtual | ~TAO_CEC_Reactive_SupplierControl (void) |
Constructor for the typed ec. | |
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_CEC_ProxyPushConsumer *proxy) |
virtual void | supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy) |
virtual void | system_exception (TAO_CEC_ProxyPullConsumer *proxy, CORBA::SystemException &) |
Some system exception was rasied while trying to push an event. | |
virtual bool | need_to_disconnect (PortableServer::ServantBase *proxy) |
virtual void | successful_transmission (PortableServer::ServantBase *proxy) |
Allow others to inform us when a send or receive was successful. | |
Private Member Functions | |
void | query_suppliers (void) |
Private Attributes | |
ACE_Time_Value | rate_ |
The polling rate. | |
ACE_Time_Value | timeout_ |
The polling timeout. | |
unsigned int | retries_ |
The number of retries per proxy until it is disconnected. | |
TAO_CEC_SupplierControl_Adapter | adapter_ |
The Adapter for the reactor events. | |
TAO_CEC_EventChannel * | event_channel_ |
The event channel. | |
CORBA::ORB_var | orb_ |
The typed event channel. | |
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. |
SupplierControl.
Defines the interface for the supplier control strategy. This strategy handles misbehaving or failing suppliers. = MEMORY MANAGMENT = LOCKING = TODO
TAO_CEC_Reactive_SupplierControl::TAO_CEC_Reactive_SupplierControl | ( | const ACE_Time_Value & | rate, |
const ACE_Time_Value & | timeout, | ||
unsigned int | retries, | ||
TAO_CEC_EventChannel * | event_channel, | ||
CORBA::ORB_ptr | orb | ||
) |
Constructor. It does not assume ownership of the <event_channel> parameter.
TAO_CEC_Reactive_SupplierControl::~TAO_CEC_Reactive_SupplierControl | ( | void | ) | [virtual] |
Constructor for the typed ec.
destructor...
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.
bool TAO_CEC_Reactive_SupplierControl::need_to_disconnect | ( | PortableServer::ServantBase * | proxy | ) | [virtual] |
Do we need to disconnect this supplier? The parameter type for proxy is PortableServer::ServantBase* due to the fact that this method will be used for TAO_CEC_ProxyPushSupplier's and TAO_CEC_ProxyPullSupplier's.
Reimplemented from TAO_CEC_SupplierControl.
void TAO_CEC_Reactive_SupplierControl::query_suppliers | ( | void | ) | [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::successful_transmission | ( | PortableServer::ServantBase * | proxy | ) | [virtual] |
Allow others to inform us when a send or receive was successful.
Reimplemented from TAO_CEC_SupplierControl.
void TAO_CEC_Reactive_SupplierControl::supplier_not_exist | ( | TAO_CEC_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_CEC_SupplierControl.
void TAO_CEC_Reactive_SupplierControl::supplier_not_exist | ( | TAO_CEC_ProxyPullConsumer * | 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_CEC_SupplierControl.
void TAO_CEC_Reactive_SupplierControl::system_exception | ( | TAO_CEC_ProxyPullConsumer * | proxy, |
CORBA::SystemException & | |||
) | [virtual] |
Some system exception was rasied while trying to push an event.
Reimplemented from TAO_CEC_SupplierControl.
The Adapter for the reactor events.
The event channel.
The typed 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.
unsigned int TAO_CEC_Reactive_SupplierControl::retries_ [private] |
The number of retries per proxy until it is disconnected.
The polling timeout.