TAO_CosEvent
2.3.1
|
The CosEventChannelAdmin::EventChannel implementation. More...
#include <CEC_EventChannel.h>
Classes | |
class | ServantBaseHash |
Public Types | |
typedef ACE_Hash_Map_Manager_Ex < PortableServer::ServantBase *, unsigned int, ServantBaseHash, ACE_Equal_To < PortableServer::ServantBase * > , TAO_SYNCH_MUTEX > | ServantRetryMap |
Private Attributes | |
PortableServer::POA_var | supplier_poa_ |
PortableServer::POA_var | consumer_poa_ |
TAO_CEC_Factory * | factory_ |
int | own_factory_ |
Flag that indicates if we own the factory. More... | |
TAO_CEC_Dispatching * | dispatching_ |
The dispatching "module". More... | |
TAO_CEC_Pulling_Strategy * | pulling_strategy_ |
The pulling strategy. More... | |
TAO_CEC_ConsumerAdmin * | consumer_admin_ |
The ConsumerAdmin implementation. More... | |
TAO_CEC_SupplierAdmin * | supplier_admin_ |
The SupplierAdmin implementation. More... | |
int | consumer_reconnect_ |
Consumer/Supplier reconnection flags. More... | |
int | supplier_reconnect_ |
int | disconnect_callbacks_ |
If not zero we send callbacks when a proxy is disconnected. More... | |
TAO_CEC_ConsumerControl * | consumer_control_ |
TAO_CEC_SupplierControl * | supplier_control_ |
ServantRetryMap | retry_map_ |
The CosEventChannelAdmin::EventChannel implementation.
This class is the Mediator between all the classes in the EC implementation, its main task is to redirect the messages to the right components, to hold and manage the lifetime of the long lived objects (Timer_Module, SupplierAdmin, ConsumerAdmin and Dispatching) and to provide a simpler interface to the CEC_Factory.
typedef ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*, unsigned int, ServantBaseHash, ACE_Equal_To<PortableServer::ServantBase*>, TAO_SYNCH_MUTEX> TAO_CEC_EventChannel::ServantRetryMap |
TAO_CEC_EventChannel::TAO_CEC_EventChannel | ( | const TAO_CEC_EventChannel_Attributes & | attributes, |
TAO_CEC_Factory * | factory = 0 , |
||
int | own_factory = 0 |
||
) |
constructor If <own_factory> is not 0 it assumes ownership of the factory. If the factory is <nil> it uses the Service_Configurator to load the Factory, if not found it uses TAO_CEC_Default_Resource_Factory
|
virtual |
destructor
|
virtual |
Start the internal threads (if any), etc. After this call the EC can be used.
|
virtual |
Used to inform the EC that a Consumer has connected or disconnected from it.
|
virtual |
|
virtual |
Used to inform the EC that a Supplier has connected or disconnected from it.
|
virtual |
TAO_CEC_ConsumerAdmin * TAO_CEC_EventChannel::consumer_admin | ( | void | ) | const |
Access the consumer admin implementation.
TAO_CEC_ConsumerControl * TAO_CEC_EventChannel::consumer_control | ( | void | ) | const |
Access the consumer control strategy.
PortableServer::POA_ptr TAO_CEC_EventChannel::consumer_poa | ( | void | ) |
int TAO_CEC_EventChannel::consumer_reconnect | ( | void | ) | const |
Can the consumers reconnect to the EC?
ACE_Lock * TAO_CEC_EventChannel::create_consumer_lock | ( | void | ) |
Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects
void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPushSupplier *& | x | ) |
Create and destroy a ProxyPushSupplier.
void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPullSupplier *& | x | ) |
Create and destroy a ProxyPullSupplier.
void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPushConsumer *& | x | ) |
Create and destroy a ProxyPushConsumer.
void TAO_CEC_EventChannel::create_proxy | ( | TAO_CEC_ProxyPullConsumer *& | x | ) |
Create and destroy a ProxyPushConsumer.
void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPushSupplier_Collection *& | x | ) |
Create and destroy a the collections used to store Proxy*Suppliers
void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPullSupplier_Collection *& | x | ) |
void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPushConsumer_Collection *& | x | ) |
Create and destroy a the collections used to store Proxy*Consumers
void TAO_CEC_EventChannel::create_proxy_collection | ( | TAO_CEC_ProxyPullConsumer_Collection *& | x | ) |
CORBA::Policy_ptr TAO_CEC_EventChannel::create_roundtrip_timeout_policy | ( | const ACE_Time_Value & | timeout | ) |
Forwarded to the factory.
ACE_Lock * TAO_CEC_EventChannel::create_supplier_lock | ( | void | ) |
|
virtual |
Commit suicide.
void TAO_CEC_EventChannel::destroy_consumer_lock | ( | ACE_Lock * | x | ) |
void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPushSupplier * | supplier | ) |
void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPullSupplier * | supplier | ) |
void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPushConsumer * | consumer | ) |
void TAO_CEC_EventChannel::destroy_proxy | ( | TAO_CEC_ProxyPullConsumer * | consumer | ) |
void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPushSupplier_Collection * | x | ) |
void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPullSupplier_Collection * | x | ) |
void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPushConsumer_Collection * | x | ) |
void TAO_CEC_EventChannel::destroy_proxy_collection | ( | TAO_CEC_ProxyPullConsumer_Collection * | x | ) |
void TAO_CEC_EventChannel::destroy_supplier_lock | ( | ACE_Lock * | x | ) |
int TAO_CEC_EventChannel::disconnect_callbacks | ( | void | ) | const |
Should we send callback disconnect messages when a proxy is disconnected by the client
|
virtual |
|
virtual |
|
virtual |
|
virtual |
TAO_CEC_Dispatching * TAO_CEC_EventChannel::dispatching | ( | void | ) | const |
Access the dispatching module....
|
virtual |
The default implementation is: this->consumer_admin ()->_this (env);
|
virtual |
The default implementation is: this->supplier_admin ()->_this (env);
TAO_CEC_EventChannel::ServantRetryMap & TAO_CEC_EventChannel::get_servant_retry_map | ( | void | ) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Shutdown any internal threads, cleanup all the internal structures, flush all the messages, etc.
TAO_CEC_SupplierAdmin * TAO_CEC_EventChannel::supplier_admin | ( | void | ) | const |
Access the supplier admin implementation.
TAO_CEC_SupplierControl * TAO_CEC_EventChannel::supplier_control | ( | void | ) | const |
Access the supplier control strategy.
PortableServer::POA_ptr TAO_CEC_EventChannel::supplier_poa | ( | void | ) |
Access the supplier and consumer POAs from the factory.
int TAO_CEC_EventChannel::supplier_reconnect | ( | void | ) | const |
Can the suppliers reconnect to the EC?
|
private |
The ConsumerAdmin implementation.
|
private |
Strategies to disconnect misbehaving or destroyed consumers and suppliers
|
private |
|
private |
Consumer/Supplier reconnection flags.
|
private |
If not zero we send callbacks when a proxy is disconnected.
|
private |
The dispatching "module".
|
private |
This is the abstract factory that creates all the objects that compose an event channel, the event channel simply acts as a Mediator among them.
|
private |
Flag that indicates if we own the factory.
|
private |
The pulling strategy.
|
private |
|
private |
The SupplierAdmin implementation.
|
private |
|
private |
The POAs used to activate "supplier-side" and "consumer-side" objects.
|
private |