TAO_CosEvent 4.0.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
TAO_CEC_EventChannel Class Reference

The CosEventChannelAdmin::EventChannel implementation. More...

#include <CEC_EventChannel.h>

Inheritance diagram for TAO_CEC_EventChannel:
Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_EventChannel:
Collaboration graph
[legend]

Classes

class  ServantBaseHash
 

Public Types

typedef ACE_Hash_Map_Manager_Ex< PortableServer::ServantBase *, unsigned int, ServantBaseHash, ACE_Equal_To< PortableServer::ServantBase * >, TAO_SYNCH_MUTEXServantRetryMap
 

Public Member Functions

 TAO_CEC_EventChannel (const TAO_CEC_EventChannel_Attributes &attributes, TAO_CEC_Factory *factory=0, int own_factory=0)
 
virtual ~TAO_CEC_EventChannel ()
 destructor
 
virtual void activate ()
 
virtual void shutdown ()
 
TAO_CEC_Dispatchingdispatching () const
 Access the dispatching module....
 
TAO_CEC_ConsumerAdminconsumer_admin () const
 Access the consumer admin implementation.
 
TAO_CEC_SupplierAdminsupplier_admin () const
 Access the supplier admin implementation.
 
TAO_CEC_ConsumerControlconsumer_control () const
 Access the consumer control strategy.
 
TAO_CEC_SupplierControlsupplier_control () const
 Access the supplier control strategy.
 
void create_proxy (TAO_CEC_ProxyPushSupplier *&)
 Create and destroy a ProxyPushSupplier.
 
void destroy_proxy (TAO_CEC_ProxyPushSupplier *)
 
void create_proxy (TAO_CEC_ProxyPullSupplier *&)
 Create and destroy a ProxyPullSupplier.
 
void destroy_proxy (TAO_CEC_ProxyPullSupplier *)
 
void create_proxy (TAO_CEC_ProxyPushConsumer *&)
 Create and destroy a ProxyPushConsumer.
 
void destroy_proxy (TAO_CEC_ProxyPushConsumer *)
 
void create_proxy (TAO_CEC_ProxyPullConsumer *&)
 Create and destroy a ProxyPushConsumer.
 
void destroy_proxy (TAO_CEC_ProxyPullConsumer *)
 
void create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *&)
 
void destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection *)
 
void create_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection *&)
 
void destroy_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection *)
 
void create_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection *&)
 
void destroy_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection *)
 
void create_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection *&)
 
void destroy_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection *)
 
PortableServer::POA_ptr supplier_poa ()
 Access the supplier and consumer POAs from the factory.
 
PortableServer::POA_ptr consumer_poa ()
 
ACE_Lockcreate_consumer_lock ()
 
void destroy_consumer_lock (ACE_Lock *)
 
ACE_Lockcreate_supplier_lock ()
 
void destroy_supplier_lock (ACE_Lock *)
 
virtual void connected (TAO_CEC_ProxyPushConsumer *)
 
virtual void reconnected (TAO_CEC_ProxyPushConsumer *)
 
virtual void disconnected (TAO_CEC_ProxyPushConsumer *)
 
virtual void connected (TAO_CEC_ProxyPullConsumer *)
 
virtual void reconnected (TAO_CEC_ProxyPullConsumer *)
 
virtual void disconnected (TAO_CEC_ProxyPullConsumer *)
 
virtual void connected (TAO_CEC_ProxyPushSupplier *)
 
virtual void reconnected (TAO_CEC_ProxyPushSupplier *)
 
virtual void disconnected (TAO_CEC_ProxyPushSupplier *)
 
virtual void connected (TAO_CEC_ProxyPullSupplier *)
 
virtual void reconnected (TAO_CEC_ProxyPullSupplier *)
 
virtual void disconnected (TAO_CEC_ProxyPullSupplier *)
 
int consumer_reconnect () const
 Can the consumers reconnect to the EC?
 
int supplier_reconnect () const
 Can the suppliers reconnect to the EC?
 
int disconnect_callbacks () const
 
virtual CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers ()
 
virtual CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers ()
 
virtual void destroy ()
 Commit suicide.
 
ServantRetryMapget_servant_retry_map ()
 
CORBA::Policy_ptr create_roundtrip_timeout_policy (const ACE_Time_Value &timeout)
 Forwarded to the factory.
 

Private Attributes

PortableServer::POA_var supplier_poa_
 
PortableServer::POA_var consumer_poa_
 
TAO_CEC_Factoryfactory_
 
int own_factory_
 Flag that indicates if we own the factory.
 
TAO_CEC_Dispatchingdispatching_
 The dispatching "module".
 
TAO_CEC_Pulling_Strategypulling_strategy_
 The pulling strategy.
 
TAO_CEC_ConsumerAdminconsumer_admin_
 The ConsumerAdmin implementation.
 
TAO_CEC_SupplierAdminsupplier_admin_
 The SupplierAdmin implementation.
 
int consumer_reconnect_
 Consumer/Supplier reconnection flags.
 
int supplier_reconnect_
 
int disconnect_callbacks_
 If not zero we send callbacks when a proxy is disconnected.
 
TAO_CEC_ConsumerControlconsumer_control_
 
TAO_CEC_SupplierControlsupplier_control_
 
ServantRetryMap retry_map_
 

Detailed Description

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.

Member Typedef Documentation

◆ ServantRetryMap

Constructor & Destructor Documentation

◆ TAO_CEC_EventChannel()

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

◆ ~TAO_CEC_EventChannel()

TAO_CEC_EventChannel::~TAO_CEC_EventChannel ( )
virtual

destructor

Member Function Documentation

◆ activate()

void TAO_CEC_EventChannel::activate ( )
virtual

Start the internal threads (if any), etc. After this call the EC can be used.

◆ connected() [1/4]

void TAO_CEC_EventChannel::connected ( TAO_CEC_ProxyPullConsumer * consumer)
virtual

◆ connected() [2/4]

void TAO_CEC_EventChannel::connected ( TAO_CEC_ProxyPullSupplier * supplier)
virtual

◆ connected() [3/4]

void TAO_CEC_EventChannel::connected ( TAO_CEC_ProxyPushConsumer * consumer)
virtual

Used to inform the EC that a Consumer has connected or disconnected from it.

◆ connected() [4/4]

void TAO_CEC_EventChannel::connected ( TAO_CEC_ProxyPushSupplier * supplier)
virtual

Used to inform the EC that a Supplier has connected or disconnected from it.

◆ consumer_admin()

TAO_CEC_ConsumerAdmin * TAO_CEC_EventChannel::consumer_admin ( ) const

Access the consumer admin implementation.

◆ consumer_control()

TAO_CEC_ConsumerControl * TAO_CEC_EventChannel::consumer_control ( ) const

Access the consumer control strategy.

◆ consumer_poa()

PortableServer::POA_ptr TAO_CEC_EventChannel::consumer_poa ( )

◆ consumer_reconnect()

int TAO_CEC_EventChannel::consumer_reconnect ( ) const

Can the consumers reconnect to the EC?

◆ create_consumer_lock()

ACE_Lock * TAO_CEC_EventChannel::create_consumer_lock ( )

Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects

◆ create_proxy() [1/4]

void TAO_CEC_EventChannel::create_proxy ( TAO_CEC_ProxyPullConsumer *& x)

Create and destroy a ProxyPushConsumer.

◆ create_proxy() [2/4]

void TAO_CEC_EventChannel::create_proxy ( TAO_CEC_ProxyPullSupplier *& x)

Create and destroy a ProxyPullSupplier.

◆ create_proxy() [3/4]

void TAO_CEC_EventChannel::create_proxy ( TAO_CEC_ProxyPushConsumer *& x)

Create and destroy a ProxyPushConsumer.

◆ create_proxy() [4/4]

void TAO_CEC_EventChannel::create_proxy ( TAO_CEC_ProxyPushSupplier *& x)

Create and destroy a ProxyPushSupplier.

◆ create_proxy_collection() [1/4]

void TAO_CEC_EventChannel::create_proxy_collection ( TAO_CEC_ProxyPullConsumer_Collection *& x)

◆ create_proxy_collection() [2/4]

void TAO_CEC_EventChannel::create_proxy_collection ( TAO_CEC_ProxyPullSupplier_Collection *& x)

◆ create_proxy_collection() [3/4]

void TAO_CEC_EventChannel::create_proxy_collection ( TAO_CEC_ProxyPushConsumer_Collection *& x)

Create and destroy a the collections used to store Proxy*Consumers

◆ create_proxy_collection() [4/4]

void TAO_CEC_EventChannel::create_proxy_collection ( TAO_CEC_ProxyPushSupplier_Collection *& x)

Create and destroy a the collections used to store Proxy*Suppliers

◆ create_roundtrip_timeout_policy()

CORBA::Policy_ptr TAO_CEC_EventChannel::create_roundtrip_timeout_policy ( const ACE_Time_Value & timeout)

Forwarded to the factory.

◆ create_supplier_lock()

ACE_Lock * TAO_CEC_EventChannel::create_supplier_lock ( )

◆ destroy()

void TAO_CEC_EventChannel::destroy ( )
virtual

Commit suicide.

◆ destroy_consumer_lock()

void TAO_CEC_EventChannel::destroy_consumer_lock ( ACE_Lock * x)

◆ destroy_proxy() [1/4]

void TAO_CEC_EventChannel::destroy_proxy ( TAO_CEC_ProxyPullConsumer * consumer)

◆ destroy_proxy() [2/4]

void TAO_CEC_EventChannel::destroy_proxy ( TAO_CEC_ProxyPullSupplier * supplier)

◆ destroy_proxy() [3/4]

void TAO_CEC_EventChannel::destroy_proxy ( TAO_CEC_ProxyPushConsumer * consumer)

◆ destroy_proxy() [4/4]

void TAO_CEC_EventChannel::destroy_proxy ( TAO_CEC_ProxyPushSupplier * supplier)

◆ destroy_proxy_collection() [1/4]

void TAO_CEC_EventChannel::destroy_proxy_collection ( TAO_CEC_ProxyPullConsumer_Collection * x)

◆ destroy_proxy_collection() [2/4]

void TAO_CEC_EventChannel::destroy_proxy_collection ( TAO_CEC_ProxyPullSupplier_Collection * x)

◆ destroy_proxy_collection() [3/4]

void TAO_CEC_EventChannel::destroy_proxy_collection ( TAO_CEC_ProxyPushConsumer_Collection * x)

◆ destroy_proxy_collection() [4/4]

void TAO_CEC_EventChannel::destroy_proxy_collection ( TAO_CEC_ProxyPushSupplier_Collection * x)

◆ destroy_supplier_lock()

void TAO_CEC_EventChannel::destroy_supplier_lock ( ACE_Lock * x)

◆ disconnect_callbacks()

int TAO_CEC_EventChannel::disconnect_callbacks ( ) const

Should we send callback disconnect messages when a proxy is disconnected by the client

◆ disconnected() [1/4]

void TAO_CEC_EventChannel::disconnected ( TAO_CEC_ProxyPullConsumer * consumer)
virtual

◆ disconnected() [2/4]

void TAO_CEC_EventChannel::disconnected ( TAO_CEC_ProxyPullSupplier * supplier)
virtual

◆ disconnected() [3/4]

void TAO_CEC_EventChannel::disconnected ( TAO_CEC_ProxyPushConsumer * consumer)
virtual

◆ disconnected() [4/4]

void TAO_CEC_EventChannel::disconnected ( TAO_CEC_ProxyPushSupplier * supplier)
virtual

◆ dispatching()

TAO_CEC_Dispatching * TAO_CEC_EventChannel::dispatching ( ) const

Access the dispatching module....

◆ for_consumers()

CosEventChannelAdmin::ConsumerAdmin_ptr TAO_CEC_EventChannel::for_consumers ( )
virtual

The default implementation is: this->consumer_admin ()->_this (env);

◆ for_suppliers()

CosEventChannelAdmin::SupplierAdmin_ptr TAO_CEC_EventChannel::for_suppliers ( )
virtual

The default implementation is: this->supplier_admin ()->_this (env);

◆ get_servant_retry_map()

TAO_CEC_EventChannel::ServantRetryMap & TAO_CEC_EventChannel::get_servant_retry_map ( )

◆ reconnected() [1/4]

void TAO_CEC_EventChannel::reconnected ( TAO_CEC_ProxyPullConsumer * consumer)
virtual

◆ reconnected() [2/4]

void TAO_CEC_EventChannel::reconnected ( TAO_CEC_ProxyPullSupplier * supplier)
virtual

◆ reconnected() [3/4]

void TAO_CEC_EventChannel::reconnected ( TAO_CEC_ProxyPushConsumer * consumer)
virtual

◆ reconnected() [4/4]

void TAO_CEC_EventChannel::reconnected ( TAO_CEC_ProxyPushSupplier * supplier)
virtual

◆ shutdown()

void TAO_CEC_EventChannel::shutdown ( )
virtual

Shutdown any internal threads, cleanup all the internal structures, flush all the messages, etc.

◆ supplier_admin()

TAO_CEC_SupplierAdmin * TAO_CEC_EventChannel::supplier_admin ( ) const

Access the supplier admin implementation.

◆ supplier_control()

TAO_CEC_SupplierControl * TAO_CEC_EventChannel::supplier_control ( ) const

Access the supplier control strategy.

◆ supplier_poa()

PortableServer::POA_ptr TAO_CEC_EventChannel::supplier_poa ( )

Access the supplier and consumer POAs from the factory.

◆ supplier_reconnect()

int TAO_CEC_EventChannel::supplier_reconnect ( ) const

Can the suppliers reconnect to the EC?

Member Data Documentation

◆ consumer_admin_

TAO_CEC_ConsumerAdmin* TAO_CEC_EventChannel::consumer_admin_
private

The ConsumerAdmin implementation.

◆ consumer_control_

TAO_CEC_ConsumerControl* TAO_CEC_EventChannel::consumer_control_
private

Strategies to disconnect misbehaving or destroyed consumers and suppliers

◆ consumer_poa_

PortableServer::POA_var TAO_CEC_EventChannel::consumer_poa_
private

◆ consumer_reconnect_

int TAO_CEC_EventChannel::consumer_reconnect_
private

Consumer/Supplier reconnection flags.

◆ disconnect_callbacks_

int TAO_CEC_EventChannel::disconnect_callbacks_
private

If not zero we send callbacks when a proxy is disconnected.

◆ dispatching_

TAO_CEC_Dispatching* TAO_CEC_EventChannel::dispatching_
private

The dispatching "module".

◆ factory_

TAO_CEC_Factory* TAO_CEC_EventChannel::factory_
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.

◆ own_factory_

int TAO_CEC_EventChannel::own_factory_
private

Flag that indicates if we own the factory.

◆ pulling_strategy_

TAO_CEC_Pulling_Strategy* TAO_CEC_EventChannel::pulling_strategy_
private

The pulling strategy.

◆ retry_map_

ServantRetryMap TAO_CEC_EventChannel::retry_map_
private

◆ supplier_admin_

TAO_CEC_SupplierAdmin* TAO_CEC_EventChannel::supplier_admin_
private

The SupplierAdmin implementation.

◆ supplier_control_

TAO_CEC_SupplierControl* TAO_CEC_EventChannel::supplier_control_
private

◆ supplier_poa_

PortableServer::POA_var TAO_CEC_EventChannel::supplier_poa_
private

The POAs used to activate "supplier-side" and "consumer-side" objects.

◆ supplier_reconnect_

int TAO_CEC_EventChannel::supplier_reconnect_
private

The documentation for this class was generated from the following files: