#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. | |
| long | timer_id_ | 
| The timer id. | |
Defines the interface for the supplier control strategy. This strategy handles misbehaving or failing suppliers. = MEMORY MANAGMENT = LOCKING = TODO
| TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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...
| void TAO_CEC_Reactive_SupplierControl::handle_timeout | ( | const ACE_Time_Value & | tv, | |
| const void * | arg | |||
| ) | 
Receive the timeout from the adapter.
| 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.
| int TAO_CEC_Reactive_SupplierControl::shutdown | ( | void | ) |  [virtual] | 
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.
| 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::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::query_suppliers | ( | void | ) |  [private] | 
Check if the suppliers still exists. It is a helper method for handle_timeout() to isolate the exceptions.
The polling rate.
The polling timeout.
| unsigned int TAO_CEC_Reactive_SupplierControl::retries_  [private] | 
The number of retries per proxy until it is disconnected.
The Adapter for the reactor events.
The event channel.
The typed event channel.
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.
The ORB reactor.
| long TAO_CEC_Reactive_SupplierControl::timer_id_  [private] | 
The timer id.
 1.5.3
 1.5.3