TAO_RTEvent  2.2.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
TAO_EC_Event_Channel Class Reference

The RtecEventChannelAdmin::EventChannel implementation. More...

#include <EC_Event_Channel.h>

Inheritance diagram for TAO_EC_Event_Channel:
Inheritance graph
Collaboration diagram for TAO_EC_Event_Channel:
Collaboration graph

Public Member Functions

 TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes &attributes, TAO_EC_Factory *factory=0, int own_factory=0)
 
- Public Member Functions inherited from TAO_EC_Event_Channel_Base
virtual ~TAO_EC_Event_Channel_Base (void)
 destructor More...
 
virtual void activate (void)
 
virtual void shutdown (void)
 
virtual void for_each_consumer (TAO_ESF_Worker< TAO_EC_ProxyPushSupplier > *worker)
 
virtual void for_each_supplier (TAO_ESF_Worker< TAO_EC_ProxyPushConsumer > *worker)
 
TAO_EC_Dispatchingdispatching (void) const
 Access the dispatching module.... More...
 
TAO_EC_Filter_Builderfilter_builder (void) const
 Access the filter builder.... More...
 
TAO_EC_Supplier_Filter_Buildersupplier_filter_builder (void) const
 Access the filter builder.... More...
 
TAO_EC_ConsumerAdminconsumer_admin (void) const
 
TAO_EC_SupplierAdminsupplier_admin (void) const
 
TAO_EC_Timeout_Generatortimeout_generator (void) const
 Access the timer module... More...
 
TAO_EC_Scheduling_Strategyscheduling_strategy (void) const
 Access the scheduling strategy. More...
 
TAO_EC_ConsumerControlconsumer_control (void) const
 Access the client control strategies. More...
 
TAO_EC_SupplierControlsupplier_control (void) const
 
void create_proxy (TAO_EC_ProxyPushSupplier *&)
 Create and destroy a ProxyPushSupplier. More...
 
void destroy_proxy (TAO_EC_ProxyPushSupplier *)
 
void create_proxy (TAO_EC_ProxyPushConsumer *&)
 Create and destroy a ProxyPushConsumer. More...
 
void destroy_proxy (TAO_EC_ProxyPushConsumer *)
 
void create_proxy_collection (TAO_EC_ProxyPushSupplier_Collection *&)
 
void destroy_proxy_collection (TAO_EC_ProxyPushSupplier_Collection *)
 
void create_proxy_collection (TAO_EC_ProxyPushConsumer_Collection *&)
 
void destroy_proxy_collection (TAO_EC_ProxyPushConsumer_Collection *)
 
PortableServer::POA_ptr supplier_poa (void)
 Access the supplier and consumer POAs from the factory. More...
 
PortableServer::POA_ptr consumer_poa (void)
 
ACE_Lockcreate_consumer_lock (void)
 
void destroy_consumer_lock (ACE_Lock *)
 
ACE_Lockcreate_supplier_lock (void)
 
void destroy_supplier_lock (ACE_Lock *)
 
virtual void connected (TAO_EC_ProxyPushConsumer *)
 
virtual void reconnected (TAO_EC_ProxyPushConsumer *)
 
virtual void disconnected (TAO_EC_ProxyPushConsumer *)
 
virtual void connected (TAO_EC_ProxyPushSupplier *)
 
virtual void reconnected (TAO_EC_ProxyPushSupplier *)
 
virtual void disconnected (TAO_EC_ProxyPushSupplier *)
 
int consumer_reconnect (void) const
 Can the consumers reconnect to the EC? More...
 
int supplier_reconnect (void) const
 Can the suppliers reconnect to the EC? More...
 
int disconnect_callbacks (void) const
 
CORBA::Object_ptr scheduler (void)
 Obtain the scheduler, the user must release. More...
 
virtual
RtecEventChannelAdmin::ConsumerAdmin_ptr 
for_consumers (void)
 
virtual
RtecEventChannelAdmin::SupplierAdmin_ptr 
for_suppliers (void)
 
virtual void destroy (void)
 Commit suicide. More...
 
virtual
RtecEventChannelAdmin::Observer_Handle 
append_observer (RtecEventChannelAdmin::Observer_ptr)
 
virtual void remove_observer (RtecEventChannelAdmin::Observer_Handle)
 
int destroyed (void)
 Return 1 if the event channel is already destroyed. More...
 

Additional Inherited Members

- Protected Types inherited from TAO_EC_Event_Channel_Base
enum  {
  EC_S_IDLE, EC_S_ACTIVATING, EC_S_ACTIVE, EC_S_DESTROYING,
  EC_S_DESTROYED
}
 Flag to track the status of the event channel. More...
 
- Protected Member Functions inherited from TAO_EC_Event_Channel_Base
 TAO_EC_Event_Channel_Base (const TAO_EC_Event_Channel_Attributes &attributes, TAO_EC_Factory *factory=0, int own_factory=0)
 
TAO_EC_Factoryfactory (void) const
 
void factory (TAO_EC_Factory *factory, int own_factory=0)
 
void create_strategies (void)
 
void deactivate_supplier_admin (void)
 
void deactivate_consumer_admin (void)
 
- Protected Attributes inherited from TAO_EC_Event_Channel_Base
PortableServer::POA_var supplier_poa_
 
PortableServer::POA_var consumer_poa_
 
TAO_EC_Factoryfactory_
 
int own_factory_
 Flag that indicates if we own the factory. More...
 
TAO_EC_Dispatchingdispatching_
 The dispatching "module". More...
 
TAO_EC_Filter_Builderfilter_builder_
 The filter builder. More...
 
TAO_EC_Supplier_Filter_Buildersupplier_filter_builder_
 The filter builder for suppliers. More...
 
TAO_EC_ConsumerAdminconsumer_admin_
 The ConsumerAdmin implementation. More...
 
TAO_EC_SupplierAdminsupplier_admin_
 The SupplierAdmin implementation. More...
 
TAO_EC_Timeout_Generatortimeout_generator_
 The timeout generator. More...
 
TAO_EC_ObserverStrategyobserver_strategy_
 The observer strategy. More...
 
CORBA::Object_var scheduler_
 The scheduler (may be nil) More...
 
TAO_EC_Scheduling_Strategyscheduling_strategy_
 The scheduling strategy. More...
 
int consumer_reconnect_
 Consumer reconnection flags. More...
 
int supplier_reconnect_
 Supplier reconnection flags. More...
 
int disconnect_callbacks_
 If not zero we send callbacks when a proxy is disconnected. More...
 
TAO_EC_ConsumerControlconsumer_control_
 Strategies to disconnect misbehaving or destroyed consumers. More...
 
TAO_EC_SupplierControlsupplier_control_
 Strategies to disconnect misbehaving or destroyed suppliers. More...
 
TAO_SYNCH_MUTEX mutex_
 Mutex to protect the internal state. More...
 
int status_
 

Detailed Description

The RtecEventChannelAdmin::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 EC_Factory.

Constructor & Destructor Documentation

TAO_EC_Event_Channel::TAO_EC_Event_Channel ( const TAO_EC_Event_Channel_Attributes attributes,
TAO_EC_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_EC_Default_Factory


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