TAO_CEC_EventChannel Class Reference

The CosEventChannelAdmin::EventChannel implementation. More...

#include <CEC_EventChannel.h>

Collaboration diagram for TAO_CEC_EventChannel:

Collaboration graph
[legend]
List of all members.

Public Types

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

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 (void)
 destructor

virtual void activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
TAO_CEC_Dispatchingdispatching (void) const
 Access the dispatching module....

TAO_CEC_ConsumerAdminconsumer_admin (void) const
 Access the consumer admin implementation.

TAO_CEC_SupplierAdminsupplier_admin (void) const
 Access the supplier admin implementation.

TAO_CEC_ConsumerControlconsumer_control (void) const
 Access the consumer control strategy.

TAO_CEC_SupplierControlsupplier_control (void) 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 (void)
 Access the supplier and consumer POAs from the factory.

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_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void reconnected (TAO_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void disconnected (TAO_CEC_ProxyPushConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void connected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void reconnected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void disconnected (TAO_CEC_ProxyPullConsumer *ACE_ENV_ARG_DECL_NOT_USED)
virtual void connected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void reconnected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void disconnected (TAO_CEC_ProxyPushSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void connected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void reconnected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
virtual void disconnected (TAO_CEC_ProxyPullSupplier *ACE_ENV_ARG_DECL_NOT_USED)
int consumer_reconnect (void) const
 Can the consumers reconnect to the EC?

int supplier_reconnect (void) const
 Can the suppliers reconnect to the EC?

int disconnect_callbacks (void) const
virtual CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 Commit suicide.

ServantRetryMapget_servant_retry_map (void)

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.

Definition at line 104 of file CEC_EventChannel.h.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*, unsigned int, ServantBaseHash, ACE_Equal_To<PortableServer::ServantBase*>, TAO_SYNCH_MUTEX> TAO_CEC_EventChannel::ServantRetryMap
 

Definition at line 119 of file CEC_EventChannel.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_CEC_EventChannel::TAO_CEC_EventChannel const TAO_CEC_EventChannel_Attributes attributes,
TAO_CEC_Factory factory = 0,
int  own_factory = 0
 

constructor If is not 0 it assumes ownership of the factory. If the factory is it uses the Service_Configurator to load the Factory, if not found it uses TAO_CEC_Default_Resource_Factory

Definition at line 21 of file CEC_EventChannel.cpp.

References ACE_ASSERT, consumer_admin_, TAO_CEC_Factory::create_consumer_admin(), TAO_CEC_Factory::create_consumer_control(), TAO_CEC_Factory::create_dispatching(), TAO_CEC_Factory::create_pulling_strategy(), TAO_CEC_Factory::create_supplier_admin(), TAO_CEC_Factory::create_supplier_control(), ACE_Dynamic_Service< TYPE >::instance(), own_factory_, and supplier_admin_.

00024   : supplier_poa_ (PortableServer::POA::_duplicate (attr.supplier_poa)),
00025     consumer_poa_ (PortableServer::POA::_duplicate (attr.consumer_poa)),
00026     factory_ (factory),
00027     own_factory_ (own_factory),
00028     consumer_reconnect_ (attr.consumer_reconnect),
00029     supplier_reconnect_ (attr.supplier_reconnect),
00030     disconnect_callbacks_ (attr.disconnect_callbacks)
00031 {
00032   if (this->factory_ == 0)
00033     {
00034       this->factory_ =
00035         ACE_Dynamic_Service<TAO_CEC_Factory>::instance ("CEC_Factory");
00036       this->own_factory_ = 0;
00037       ACE_ASSERT (this->factory_ != 0);
00038     }
00039 
00040   this->dispatching_ =
00041     this->factory_->create_dispatching (this);
00042   this->pulling_strategy_ =
00043     this->factory_->create_pulling_strategy (this);
00044   this->consumer_admin_ =
00045     this->factory_->create_consumer_admin (this);
00046   this->supplier_admin_ =
00047     this->factory_->create_supplier_admin (this);
00048   this->consumer_control_ =
00049     this->factory_->create_consumer_control (this);
00050   this->supplier_control_ =
00051     this->factory_->create_supplier_control (this);
00052 }

TAO_CEC_EventChannel::~TAO_CEC_EventChannel void   )  [virtual]
 

destructor

Definition at line 54 of file CEC_EventChannel.cpp.

References consumer_admin_, TAO_CEC_Factory::destroy_consumer_admin(), TAO_CEC_Factory::destroy_consumer_control(), TAO_CEC_Factory::destroy_dispatching(), TAO_CEC_Factory::destroy_pulling_strategy(), TAO_CEC_Factory::destroy_supplier_admin(), TAO_CEC_Factory::destroy_supplier_control(), own_factory_, and supplier_admin_.

00055 {
00056   this->factory_->destroy_dispatching (this->dispatching_);
00057   this->dispatching_ = 0;
00058 
00059   this->factory_->destroy_pulling_strategy (this->pulling_strategy_);
00060   this->pulling_strategy_ = 0;
00061 
00062   this->factory_->destroy_consumer_admin (this->consumer_admin_);
00063   this->consumer_admin_ = 0;
00064   this->factory_->destroy_supplier_admin (this->supplier_admin_);
00065   this->supplier_admin_ = 0;
00066 
00067   this->factory_->destroy_consumer_control (this->consumer_control_);
00068   this->consumer_control_ = 0;
00069   this->factory_->destroy_supplier_control (this->supplier_control_);
00070   this->supplier_control_ = 0;
00071 
00072   if (this->own_factory_)
00073     delete this->factory_;
00074 }


Member Function Documentation

virtual void TAO_CEC_EventChannel::activate ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  [virtual]
 

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

void TAO_CEC_EventChannel::connected TAO_CEC_ProxyPullSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 191 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_ConsumerAdmin::connected(), and consumer_admin_.

00193 {
00194   this->consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER);
00195   ACE_CHECK;
00196 }

void TAO_CEC_EventChannel::connected TAO_CEC_ProxyPushSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

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

Definition at line 167 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_ConsumerAdmin::connected(), and consumer_admin_.

00169 {
00170   this->consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER);
00171   ACE_CHECK;
00172 }

void TAO_CEC_EventChannel::connected TAO_CEC_ProxyPullConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 143 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::connected(), and supplier_admin_.

00145 {
00146   this->supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER);
00147   ACE_CHECK;
00148 }

void TAO_CEC_EventChannel::connected TAO_CEC_ProxyPushConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

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

Definition at line 119 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::connected(), and supplier_admin_.

00121 {
00122   this->supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER);
00123   ACE_CHECK;
00124 }

ACE_INLINE TAO_CEC_ConsumerAdmin * TAO_CEC_EventChannel::consumer_admin void   )  const
 

Access the consumer admin implementation.

Definition at line 26 of file CEC_EventChannel.i.

References consumer_admin_.

Referenced by TAO_CEC_Reactive_ConsumerControl::query_consumers().

00027 {
00028   return this->consumer_admin_;
00029 }

ACE_INLINE TAO_CEC_ConsumerControl * TAO_CEC_EventChannel::consumer_control void   )  const
 

Access the consumer control strategy.

Definition at line 38 of file CEC_EventChannel.i.

00039 {
00040   return this->consumer_control_;
00041 }

ACE_INLINE PortableServer::POA_ptr TAO_CEC_EventChannel::consumer_poa void   ) 
 

Definition at line 152 of file CEC_EventChannel.i.

Referenced by TAO_CEC_ConsumerAdmin::TAO_CEC_ConsumerAdmin(), TAO_CEC_ProxyPullConsumer::TAO_CEC_ProxyPullConsumer(), and TAO_CEC_ProxyPushConsumer::TAO_CEC_ProxyPushConsumer().

00153 {
00154   return PortableServer::POA::_duplicate (this->consumer_poa_.in ());
00155 }

ACE_INLINE int TAO_CEC_EventChannel::consumer_reconnect void   )  const
 

Can the consumers reconnect to the EC?

Definition at line 182 of file CEC_EventChannel.i.

References consumer_reconnect_.

00183 {
00184   return this->consumer_reconnect_;
00185 }

ACE_INLINE ACE_Lock * TAO_CEC_EventChannel::create_consumer_lock void   ) 
 

Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects

Definition at line 158 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_consumer_lock().

Referenced by TAO_CEC_ProxyPullConsumer::TAO_CEC_ProxyPullConsumer(), and TAO_CEC_ProxyPushConsumer::TAO_CEC_ProxyPushConsumer().

00159 {
00160   return this->factory_->create_consumer_lock ();
00161 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy TAO_CEC_ProxyPullConsumer *&   ) 
 

Create and destroy a ProxyPushConsumer.

Definition at line 86 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_pull_consumer().

00087 {
00088   x = this->factory_->create_proxy_pull_consumer (this);
00089 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy TAO_CEC_ProxyPushConsumer *&   ) 
 

Create and destroy a ProxyPushConsumer.

Definition at line 74 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_push_consumer().

00075 {
00076   x = this->factory_->create_proxy_push_consumer (this);
00077 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy TAO_CEC_ProxyPullSupplier *&   ) 
 

Create and destroy a ProxyPullSupplier.

Definition at line 62 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_pull_supplier().

00063 {
00064   x = this->factory_->create_proxy_pull_supplier (this);
00065 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy TAO_CEC_ProxyPushSupplier *&   ) 
 

Create and destroy a ProxyPushSupplier.

Definition at line 50 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_push_supplier().

00051 {
00052   x = this->factory_->create_proxy_push_supplier (this);
00053 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection TAO_CEC_ProxyPullConsumer_Collection *&   ) 
 

Definition at line 110 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_pull_consumer_collection(), and TAO_CEC_ProxyPullConsumer_Collection.

00111 {
00112   x = this->factory_->create_proxy_pull_consumer_collection (this);
00113 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection TAO_CEC_ProxyPushConsumer_Collection *&   ) 
 

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

Definition at line 98 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_push_consumer_collection(), and TAO_CEC_ProxyPushConsumer_Collection.

00099 {
00100   x = this->factory_->create_proxy_push_consumer_collection (this);
00101 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection TAO_CEC_ProxyPullSupplier_Collection *&   ) 
 

Definition at line 134 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_pull_supplier_collection(), and TAO_CEC_ProxyPullSupplier_Collection.

00135 {
00136   x = this->factory_->create_proxy_pull_supplier_collection (this);
00137 }

ACE_INLINE void TAO_CEC_EventChannel::create_proxy_collection TAO_CEC_ProxyPushSupplier_Collection *&   ) 
 

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

Definition at line 122 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_proxy_push_supplier_collection(), and TAO_CEC_ProxyPushSupplier_Collection.

00123 {
00124   x = this->factory_->create_proxy_push_supplier_collection (this);
00125 }

ACE_INLINE ACE_Lock * TAO_CEC_EventChannel::create_supplier_lock void   ) 
 

Definition at line 170 of file CEC_EventChannel.i.

References TAO_CEC_Factory::create_supplier_lock().

Referenced by TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier(), and TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier().

00171 {
00172   return this->factory_->create_supplier_lock ();
00173 }

virtual void TAO_CEC_EventChannel::destroy ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [virtual]
 

Commit suicide.

Referenced by TAO_CEC_Event_Loader::fini().

ACE_INLINE void TAO_CEC_EventChannel::destroy_consumer_lock ACE_Lock  ) 
 

Definition at line 164 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_consumer_lock().

Referenced by TAO_CEC_ProxyPullConsumer::~TAO_CEC_ProxyPullConsumer(), and TAO_CEC_ProxyPushConsumer::~TAO_CEC_ProxyPushConsumer().

00165 {
00166   this->factory_->destroy_consumer_lock (x);
00167 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy TAO_CEC_ProxyPullConsumer  ) 
 

Definition at line 92 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_pull_consumer().

00093 {
00094   this->factory_->destroy_proxy_pull_consumer (consumer);
00095 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy TAO_CEC_ProxyPushConsumer  ) 
 

Definition at line 80 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_push_consumer().

00081 {
00082   this->factory_->destroy_proxy_push_consumer (consumer);
00083 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy TAO_CEC_ProxyPullSupplier  ) 
 

Definition at line 68 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_pull_supplier().

00069 {
00070   this->factory_->destroy_proxy_pull_supplier (supplier);
00071 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy TAO_CEC_ProxyPushSupplier  ) 
 

Definition at line 56 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_push_supplier().

Referenced by TAO_CEC_ProxyPushSupplier::_decr_refcnt(), TAO_CEC_ProxyPushConsumer::_decr_refcnt(), TAO_CEC_ProxyPullSupplier::_decr_refcnt(), TAO_CEC_ProxyPullConsumer::_decr_refcnt(), and TAO_CEC_ProxyPushConsumer_Guard::~TAO_CEC_ProxyPushConsumer_Guard().

00057 {
00058   this->factory_->destroy_proxy_push_supplier (supplier);
00059 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection TAO_CEC_ProxyPullConsumer_Collection  ) 
 

Definition at line 116 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_pull_consumer_collection(), and TAO_CEC_ProxyPullConsumer_Collection.

00117 {
00118   this->factory_->destroy_proxy_pull_consumer_collection (x);
00119 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection TAO_CEC_ProxyPushConsumer_Collection  ) 
 

Definition at line 104 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_push_consumer_collection(), and TAO_CEC_ProxyPushConsumer_Collection.

00105 {
00106   this->factory_->destroy_proxy_push_consumer_collection (x);
00107 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection TAO_CEC_ProxyPullSupplier_Collection  ) 
 

Definition at line 140 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_pull_supplier_collection(), and TAO_CEC_ProxyPullSupplier_Collection.

00141 {
00142   this->factory_->destroy_proxy_pull_supplier_collection (x);
00143 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_proxy_collection TAO_CEC_ProxyPushSupplier_Collection  ) 
 

Definition at line 128 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_proxy_push_supplier_collection(), and TAO_CEC_ProxyPushSupplier_Collection.

00129 {
00130   this->factory_->destroy_proxy_push_supplier_collection (x);
00131 }

ACE_INLINE void TAO_CEC_EventChannel::destroy_supplier_lock ACE_Lock  ) 
 

Definition at line 176 of file CEC_EventChannel.i.

References TAO_CEC_Factory::destroy_supplier_lock().

Referenced by TAO_CEC_ProxyPullSupplier::~TAO_CEC_ProxyPullSupplier(), and TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier().

00177 {
00178   this->factory_->destroy_supplier_lock (x);
00179 }

ACE_INLINE int TAO_CEC_EventChannel::disconnect_callbacks void   )  const
 

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

Definition at line 194 of file CEC_EventChannel.i.

References disconnect_callbacks_.

00195 {
00196   return this->disconnect_callbacks_;
00197 }

void TAO_CEC_EventChannel::disconnected TAO_CEC_ProxyPullSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 207 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, consumer_admin_, and TAO_CEC_ConsumerAdmin::disconnected().

00209 {
00210   this->consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER);
00211   ACE_CHECK;
00212 }

void TAO_CEC_EventChannel::disconnected TAO_CEC_ProxyPushSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 183 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, consumer_admin_, and TAO_CEC_ConsumerAdmin::disconnected().

00185 {
00186   this->consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER);
00187   ACE_CHECK;
00188 }

void TAO_CEC_EventChannel::disconnected TAO_CEC_ProxyPullConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 159 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::disconnected(), and supplier_admin_.

00161 {
00162   this->supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER);
00163   ACE_CHECK;
00164 }

void TAO_CEC_EventChannel::disconnected TAO_CEC_ProxyPushConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 135 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::disconnected(), and supplier_admin_.

00137 {
00138   this->supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER);
00139   ACE_CHECK;
00140 }

ACE_INLINE TAO_CEC_Dispatching * TAO_CEC_EventChannel::dispatching void   )  const
 

Access the dispatching module....

Definition at line 20 of file CEC_EventChannel.i.

00021 {
00022   return this->dispatching_;
00023 }

virtual CosEventChannelAdmin::ConsumerAdmin_ptr TAO_CEC_EventChannel::for_consumers ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [virtual]
 

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

virtual CosEventChannelAdmin::SupplierAdmin_ptr TAO_CEC_EventChannel::for_suppliers ACE_ENV_SINGLE_ARG_DECL   )  throw (CORBA::SystemException) [virtual]
 

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

ACE_INLINE TAO_CEC_EventChannel::ServantRetryMap & TAO_CEC_EventChannel::get_servant_retry_map void   ) 
 

Definition at line 200 of file CEC_EventChannel.i.

References retry_map_.

Referenced by TAO_CEC_ProxyPullConsumer::TAO_CEC_ProxyPullConsumer(), TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier(), TAO_CEC_ProxyPushConsumer::TAO_CEC_ProxyPushConsumer(), TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier(), TAO_CEC_ProxyPullConsumer::~TAO_CEC_ProxyPullConsumer(), TAO_CEC_ProxyPullSupplier::~TAO_CEC_ProxyPullSupplier(), TAO_CEC_ProxyPushConsumer::~TAO_CEC_ProxyPushConsumer(), and TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier().

00201 {
00202   return this->retry_map_;
00203 }

void TAO_CEC_EventChannel::reconnected TAO_CEC_ProxyPullSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 199 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, consumer_admin_, and TAO_CEC_ConsumerAdmin::reconnected().

00201 {
00202   this->consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER);
00203   ACE_CHECK;
00204 }

void TAO_CEC_EventChannel::reconnected TAO_CEC_ProxyPushSupplier ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 175 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, consumer_admin_, and TAO_CEC_ConsumerAdmin::reconnected().

00177 {
00178   this->consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER);
00179   ACE_CHECK;
00180 }

void TAO_CEC_EventChannel::reconnected TAO_CEC_ProxyPullConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 151 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::reconnected(), and supplier_admin_.

00153 {
00154   this->supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER);
00155   ACE_CHECK;
00156 }

void TAO_CEC_EventChannel::reconnected TAO_CEC_ProxyPushConsumer ACE_ENV_ARG_DECL_NOT_USED  )  [virtual]
 

Definition at line 127 of file CEC_EventChannel.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, TAO_CEC_SupplierAdmin::reconnected(), and supplier_admin_.

00129 {
00130   this->supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER);
00131   ACE_CHECK;
00132 }

virtual void TAO_CEC_EventChannel::shutdown ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  [virtual]
 

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

ACE_INLINE TAO_CEC_SupplierAdmin * TAO_CEC_EventChannel::supplier_admin void   )  const
 

Access the supplier admin implementation.

Definition at line 32 of file CEC_EventChannel.i.

References supplier_admin_.

Referenced by TAO_CEC_Reactive_Pulling_Strategy::handle_timeout(), and TAO_CEC_Reactive_SupplierControl::query_suppliers().

00033 {
00034   return this->supplier_admin_;
00035 }

ACE_INLINE TAO_CEC_SupplierControl * TAO_CEC_EventChannel::supplier_control void   )  const
 

Access the supplier control strategy.

Definition at line 44 of file CEC_EventChannel.i.

Referenced by TAO_CEC_Reactive_Pulling_Strategy::handle_timeout(), and TAO_CEC_ProxyPullConsumer::try_pull_from_supplier().

00045 {
00046   return this->supplier_control_;
00047 }

ACE_INLINE PortableServer::POA_ptr TAO_CEC_EventChannel::supplier_poa void   ) 
 

Access the supplier and consumer POAs from the factory.

Definition at line 146 of file CEC_EventChannel.i.

Referenced by TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier(), TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier(), and TAO_CEC_SupplierAdmin::TAO_CEC_SupplierAdmin().

00147 {
00148   return PortableServer::POA::_duplicate (this->supplier_poa_.in ());
00149 }

ACE_INLINE int TAO_CEC_EventChannel::supplier_reconnect void   )  const
 

Can the suppliers reconnect to the EC?

Definition at line 188 of file CEC_EventChannel.i.

References supplier_reconnect_.

00189 {
00190   return this->supplier_reconnect_;
00191 }


Member Data Documentation

TAO_CEC_ConsumerAdmin* TAO_CEC_EventChannel::consumer_admin_ [private]
 

The ConsumerAdmin implementation.

Definition at line 284 of file CEC_EventChannel.h.

Referenced by connected(), consumer_admin(), disconnected(), reconnected(), TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel().

TAO_CEC_ConsumerControl* TAO_CEC_EventChannel::consumer_control_ [private]
 

Strategies to disconnect misbehaving or destroyed consumers and suppliers

Definition at line 298 of file CEC_EventChannel.h.

PortableServer::POA_var TAO_CEC_EventChannel::consumer_poa_ [private]
 

Definition at line 265 of file CEC_EventChannel.h.

int TAO_CEC_EventChannel::consumer_reconnect_ [private]
 

Consumer/Supplier reconnection flags.

Definition at line 290 of file CEC_EventChannel.h.

Referenced by consumer_reconnect().

int TAO_CEC_EventChannel::disconnect_callbacks_ [private]
 

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

Definition at line 294 of file CEC_EventChannel.h.

Referenced by disconnect_callbacks().

TAO_CEC_Dispatching* TAO_CEC_EventChannel::dispatching_ [private]
 

The dispatching "module".

Definition at line 278 of file CEC_EventChannel.h.

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.

Definition at line 272 of file CEC_EventChannel.h.

int TAO_CEC_EventChannel::own_factory_ [private]
 

Flag that indicates if we own the factory.

Definition at line 275 of file CEC_EventChannel.h.

Referenced by TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel().

TAO_CEC_Pulling_Strategy* TAO_CEC_EventChannel::pulling_strategy_ [private]
 

The pulling strategy.

Definition at line 281 of file CEC_EventChannel.h.

ServantRetryMap TAO_CEC_EventChannel::retry_map_ [private]
 

Definition at line 301 of file CEC_EventChannel.h.

Referenced by get_servant_retry_map().

TAO_CEC_SupplierAdmin* TAO_CEC_EventChannel::supplier_admin_ [private]
 

The SupplierAdmin implementation.

Definition at line 287 of file CEC_EventChannel.h.

Referenced by connected(), disconnected(), reconnected(), supplier_admin(), TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel().

TAO_CEC_SupplierControl* TAO_CEC_EventChannel::supplier_control_ [private]
 

Definition at line 299 of file CEC_EventChannel.h.

PortableServer::POA_var TAO_CEC_EventChannel::supplier_poa_ [private]
 

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

Definition at line 264 of file CEC_EventChannel.h.

int TAO_CEC_EventChannel::supplier_reconnect_ [private]
 

Definition at line 291 of file CEC_EventChannel.h.

Referenced by supplier_reconnect().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:19:28 2006 for TAO_CosEvent by doxygen 1.3.6