SupplierControl. More...
#include <EC_Reactive_SupplierControl.h>
Public Member Functions | |
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) |
virtual void | system_exception (TAO_EC_ProxyPushConsumer *proxy, CORBA::SystemException &) |
Private Member Functions | |
void | query_suppliers (void) |
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. |
SupplierControl.
Defines the interface for the supplier control strategy. This strategy handles misbehaving or failing suppliers.
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.
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 | ( | void | ) | [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 ) | [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 & | |||
) | [virtual] |
Some system exception was raised while trying to contact the supplier
Reimplemented from TAO_EC_SupplierControl.
The Adapter for the reactor events.
The event channel.
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.
The polling rate.
The ORB reactor.
The polling timeout.