#include <CEC_EventChannel.h>
Collaboration diagram for TAO_CEC_EventChannel:
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.
|
Definition at line 119 of file CEC_EventChannel.h. |
|
|
|
Start the internal threads (if any), etc. After this call the EC can be used. Definition at line 77 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierControl::activate(), TAO_CEC_ConsumerControl::activate(), TAO_CEC_Pulling_Strategy::activate(), and TAO_CEC_Dispatching::activate(). Referenced by TAO_CEC_Event_Loader::create_object().
00078 { 00079 this->dispatching_->activate (); 00080 this->pulling_strategy_->activate (); 00081 this->consumer_control_->activate (); 00082 this->supplier_control_->activate (); 00083 } |
|
Definition at line 165 of file CEC_EventChannel.cpp. References TAO_CEC_ConsumerAdmin::connected(), and consumer_admin_.
00166 { 00167 this->consumer_admin_->connected (supplier); 00168 } |
|
Used to inform the EC that a Supplier has connected or disconnected from it. Definition at line 147 of file CEC_EventChannel.cpp. References TAO_CEC_ConsumerAdmin::connected(), and consumer_admin_.
00148 { 00149 this->consumer_admin_->connected (supplier); 00150 } |
|
Definition at line 129 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::connected(), and supplier_admin_.
00130 { 00131 this->supplier_admin_->connected (consumer); 00132 } |
|
Used to inform the EC that a Consumer has connected or disconnected from it. Definition at line 111 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::connected(), and supplier_admin_. Referenced by TAO_CEC_ProxyPullSupplier::connect_pull_consumer(), TAO_CEC_ProxyPullConsumer::connect_pull_supplier(), TAO_CEC_ProxyPushSupplier::connect_push_consumer(), and TAO_CEC_ProxyPushConsumer::connect_push_supplier().
00112 { 00113 this->supplier_admin_->connected (consumer); 00114 } |
|
Access the consumer admin implementation.
Definition at line 26 of file CEC_EventChannel.inl. References consumer_admin_. Referenced by TAO_CEC_ProxyPushConsumer::push(), and TAO_CEC_Reactive_ConsumerControl::query_consumers().
00027 { 00028 return this->consumer_admin_; 00029 } |
|
Access the consumer control strategy.
Definition at line 38 of file CEC_EventChannel.inl. Referenced by TAO_CEC_ProxyPushSupplier::push_to_consumer(), and TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer().
00039 { 00040 return this->consumer_control_; 00041 } |
|
Definition at line 152 of file CEC_EventChannel.inl. 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 }
|
|
Can the consumers reconnect to the EC?
Definition at line 182 of file CEC_EventChannel.inl. References consumer_reconnect_. Referenced by TAO_CEC_ProxyPullSupplier::connect_pull_consumer(), and TAO_CEC_ProxyPushSupplier::connect_push_consumer().
00183 { 00184 return this->consumer_reconnect_; 00185 } |
|
Locking strategies for the ProxyPushConsumer and ProxyPushSupplier objects Definition at line 158 of file CEC_EventChannel.inl. 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 } |
|
Create and destroy a ProxyPushConsumer.
Definition at line 86 of file CEC_EventChannel.inl. References TAO_CEC_Factory::create_proxy_pull_consumer().
00087 { 00088 x = this->factory_->create_proxy_pull_consumer (this); 00089 } |
|
Create and destroy a ProxyPushConsumer.
Definition at line 74 of file CEC_EventChannel.inl. References TAO_CEC_Factory::create_proxy_push_consumer().
00075 { 00076 x = this->factory_->create_proxy_push_consumer (this); 00077 } |
|
Create and destroy a ProxyPullSupplier.
Definition at line 62 of file CEC_EventChannel.inl. References TAO_CEC_Factory::create_proxy_pull_supplier().
00063 { 00064 x = this->factory_->create_proxy_pull_supplier (this); 00065 } |
|
Create and destroy a ProxyPushSupplier.
Definition at line 50 of file CEC_EventChannel.inl. References TAO_CEC_Factory::create_proxy_push_supplier().
00051 { 00052 x = this->factory_->create_proxy_push_supplier (this); 00053 } |
|
Definition at line 110 of file CEC_EventChannel.inl. 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 } |
|
Create and destroy a the collections used to store Proxy*Consumers Definition at line 98 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 134 of file CEC_EventChannel.inl. 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 } |
|
Create and destroy a the collections used to store Proxy*Suppliers Definition at line 122 of file CEC_EventChannel.inl. 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 } |
|
Forwarded to the factory.
Definition at line 201 of file CEC_EventChannel.cpp.
00202 { 00203 return this->factory_->create_roundtrip_timeout_policy (timeout); 00204 } |
|
Definition at line 170 of file CEC_EventChannel.inl. References TAO_CEC_Factory::create_supplier_lock(). Referenced by TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier().
00171 { 00172 return this->factory_->create_supplier_lock (); 00173 } |
|
Commit suicide.
Definition at line 195 of file CEC_EventChannel.cpp. References shutdown(). Referenced by TAO_CEC_Event_Loader::fini().
00196 { 00197 this->shutdown (); 00198 } |
|
Definition at line 164 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 92 of file CEC_EventChannel.inl. References TAO_CEC_Factory::destroy_proxy_pull_consumer().
00093 { 00094 this->factory_->destroy_proxy_pull_consumer (consumer); 00095 } |
|
Definition at line 80 of file CEC_EventChannel.inl. References TAO_CEC_Factory::destroy_proxy_push_consumer().
00081 { 00082 this->factory_->destroy_proxy_push_consumer (consumer); 00083 } |
|
Definition at line 68 of file CEC_EventChannel.inl. References TAO_CEC_Factory::destroy_proxy_pull_supplier().
00069 { 00070 this->factory_->destroy_proxy_pull_supplier (supplier); 00071 } |
|
Definition at line 56 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 116 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 104 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 140 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 128 of file CEC_EventChannel.inl. 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 } |
|
Definition at line 176 of file CEC_EventChannel.inl. 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 } |
|
Should we send callback disconnect messages when a proxy is disconnected by the client Definition at line 194 of file CEC_EventChannel.inl. References disconnect_callbacks_. Referenced by TAO_CEC_ProxyPullConsumer::disconnect_pull_consumer(), TAO_CEC_ProxyPullSupplier::disconnect_pull_supplier(), TAO_CEC_ProxyPushConsumer::disconnect_push_consumer(), and TAO_CEC_ProxyPushSupplier::disconnect_push_supplier().
00195 { 00196 return this->disconnect_callbacks_; 00197 } |
|
Definition at line 177 of file CEC_EventChannel.cpp. References consumer_admin_, and TAO_CEC_ConsumerAdmin::disconnected().
00178 { 00179 this->consumer_admin_->disconnected (supplier); 00180 } |
|
Definition at line 159 of file CEC_EventChannel.cpp. References consumer_admin_, and TAO_CEC_ConsumerAdmin::disconnected().
00160 { 00161 this->consumer_admin_->disconnected (supplier); 00162 } |
|
Definition at line 141 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::disconnected(), and supplier_admin_.
00142 { 00143 this->supplier_admin_->disconnected (consumer); 00144 } |
|
Definition at line 123 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::disconnected(), and supplier_admin_. Referenced by TAO_CEC_ProxyPullConsumer::connect_pull_supplier(), TAO_CEC_ProxyPushConsumer::connect_push_supplier(), TAO_CEC_ProxyPullConsumer::disconnect_pull_consumer(), TAO_CEC_ProxyPullSupplier::disconnect_pull_supplier(), TAO_CEC_ProxyPushConsumer::disconnect_push_consumer(), and TAO_CEC_ProxyPushSupplier::disconnect_push_supplier().
00124 { 00125 this->supplier_admin_->disconnected (consumer); 00126 } |
|
Access the dispatching module....
Definition at line 20 of file CEC_EventChannel.inl. Referenced by TAO_CEC_ProxyPushSupplier::push(), and TAO_CEC_ProxyPushSupplier::push_nocopy().
00021 { 00022 return this->dispatching_; 00023 } |
|
The default implementation is: this->consumer_admin ()->_this (env); Definition at line 183 of file CEC_EventChannel.cpp. References consumer_admin_.
00184 { 00185 return this->consumer_admin_->_this (); 00186 } |
|
The default implementation is: this->supplier_admin ()->_this (env); Definition at line 189 of file CEC_EventChannel.cpp. References supplier_admin_.
00190 { 00191 return this->supplier_admin_->_this (); 00192 } |
|
Definition at line 200 of file CEC_EventChannel.inl. References retry_map_. Referenced by TAO_CEC_ProxyPullConsumer::TAO_CEC_ProxyPullConsumer(), 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 } |
|
Definition at line 171 of file CEC_EventChannel.cpp. References consumer_admin_, and TAO_CEC_ConsumerAdmin::reconnected().
00172 { 00173 this->consumer_admin_->reconnected (supplier); 00174 } |
|
Definition at line 153 of file CEC_EventChannel.cpp. References consumer_admin_, and TAO_CEC_ConsumerAdmin::reconnected().
00154 { 00155 this->consumer_admin_->reconnected (supplier); 00156 } |
|
Definition at line 135 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::reconnected(), and supplier_admin_.
00136 { 00137 this->supplier_admin_->reconnected (consumer); 00138 } |
|
Definition at line 117 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::reconnected(), and supplier_admin_. Referenced by TAO_CEC_ProxyPullSupplier::connect_pull_consumer(), and TAO_CEC_ProxyPushSupplier::connect_push_consumer().
00118 { 00119 this->supplier_admin_->reconnected (consumer); 00120 } |
|
Shutdown any internal threads, cleanup all the internal structures, flush all the messages, etc. Definition at line 86 of file CEC_EventChannel.cpp. References TAO_CEC_SupplierAdmin::_default_POA(), TAO_CEC_ConsumerAdmin::_default_POA(), consumer_admin_, TAO_CEC_ConsumerAdmin::shutdown(), TAO_CEC_SupplierAdmin::shutdown(), TAO_CEC_ConsumerControl::shutdown(), TAO_CEC_SupplierControl::shutdown(), TAO_CEC_Pulling_Strategy::shutdown(), TAO_CEC_Dispatching::shutdown(), and supplier_admin_. Referenced by destroy().
00087 { 00088 this->dispatching_->shutdown (); 00089 this->pulling_strategy_->shutdown (); 00090 this->supplier_control_->shutdown (); 00091 this->consumer_control_->shutdown (); 00092 00093 PortableServer::POA_var consumer_poa = 00094 this->consumer_admin_->_default_POA (); 00095 PortableServer::ObjectId_var consumer_id = 00096 consumer_poa->servant_to_id (this->consumer_admin_); 00097 consumer_poa->deactivate_object (consumer_id.in ()); 00098 00099 PortableServer::POA_var supplier_poa = 00100 this->supplier_admin_->_default_POA (); 00101 PortableServer::ObjectId_var supplier_id = 00102 supplier_poa->servant_to_id (this->supplier_admin_); 00103 supplier_poa->deactivate_object (supplier_id.in ()); 00104 00105 this->supplier_admin_->shutdown (); 00106 00107 this->consumer_admin_->shutdown (); 00108 } |
|
Access the supplier admin implementation.
Definition at line 32 of file CEC_EventChannel.inl. 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 } |
|
Access the supplier control strategy.
Definition at line 44 of file CEC_EventChannel.inl. Referenced by TAO_CEC_Reactive_Pulling_Strategy::handle_timeout(), and TAO_CEC_ProxyPullConsumer::try_pull_from_supplier().
00045 { 00046 return this->supplier_control_; 00047 } |
|
Access the supplier and consumer POAs from the factory.
Definition at line 146 of file CEC_EventChannel.inl. Referenced by TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier(), and TAO_CEC_SupplierAdmin::TAO_CEC_SupplierAdmin().
00147 {
00148 return PortableServer::POA::_duplicate (this->supplier_poa_.in ());
00149 }
|
|
Can the suppliers reconnect to the EC?
Definition at line 188 of file CEC_EventChannel.inl. References supplier_reconnect_. Referenced by TAO_CEC_ProxyPullConsumer::connect_pull_supplier(), and TAO_CEC_ProxyPushConsumer::connect_push_supplier().
00189 { 00190 return this->supplier_reconnect_; 00191 } |
|
The ConsumerAdmin implementation.
Definition at line 273 of file CEC_EventChannel.h. Referenced by connected(), consumer_admin(), disconnected(), for_consumers(), reconnected(), shutdown(), TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel(). |
|
Strategies to disconnect misbehaving or destroyed consumers and suppliers Definition at line 287 of file CEC_EventChannel.h. |
|
Definition at line 254 of file CEC_EventChannel.h. |
|
Consumer/Supplier reconnection flags.
Definition at line 279 of file CEC_EventChannel.h. Referenced by consumer_reconnect(). |
|
If not zero we send callbacks when a proxy is disconnected.
Definition at line 283 of file CEC_EventChannel.h. Referenced by disconnect_callbacks(). |
|
The dispatching "module".
Definition at line 267 of file CEC_EventChannel.h. |
|
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 261 of file CEC_EventChannel.h. |
|
Flag that indicates if we own the factory.
Definition at line 264 of file CEC_EventChannel.h. Referenced by TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel(). |
|
The pulling strategy.
Definition at line 270 of file CEC_EventChannel.h. |
|
Definition at line 290 of file CEC_EventChannel.h. Referenced by get_servant_retry_map(). |
|
The SupplierAdmin implementation.
Definition at line 276 of file CEC_EventChannel.h. Referenced by connected(), disconnected(), for_suppliers(), reconnected(), shutdown(), supplier_admin(), TAO_CEC_EventChannel(), and ~TAO_CEC_EventChannel(). |
|
Definition at line 288 of file CEC_EventChannel.h. |
|
The POAs used to activate "supplier-side" and "consumer-side" objects. Definition at line 253 of file CEC_EventChannel.h. |
|
Definition at line 280 of file CEC_EventChannel.h. Referenced by supplier_reconnect(). |