#include <EC_Basic_Factory.h>
Inheritance diagram for TAO_EC_Basic_Factory:
An slightly more advanced configuration than the EC_Null_Factory, this class configure an event channel that can support filtering and correlation. Still dispatching is not prioritized and all the filtering is done at the consumer level. A fixed POA is used for servant activation. This object creates a single instance of the Supplier
Definition at line 42 of file EC_Basic_Factory.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Basic_Factory::TAO_EC_Basic_Factory | ( | void | ) |
TAO_EC_Basic_Factory::~TAO_EC_Basic_Factory | ( | void | ) | [virtual] |
TAO_EC_ConsumerAdmin * TAO_EC_Basic_Factory::create_consumer_admin | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the consumer admin implementation.
Implements TAO_EC_Factory.
Definition at line 74 of file EC_Basic_Factory.cpp.
00075 { 00076 return new TAO_EC_ConsumerAdmin (ec); 00077 }
TAO_EC_ConsumerControl * TAO_EC_Basic_Factory::create_consumer_control | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
The ConsumerControl and SupplierControl strategies are used to discard non-existent consumers and suppliers
Implements TAO_EC_Factory.
Definition at line 223 of file EC_Basic_Factory.cpp.
References TAO_Pseudo_Var_T< T >::in(), CORBA::ORB_init(), and TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT.
00224 { 00225 int argc = 0; 00226 char **argv = 0; 00227 CORBA::ORB_var orb = 00228 CORBA::ORB_init (argc, argv); 00229 // Hard-coded rate to 10 times a second 00230 ACE_Time_Value rate (0, 100000); 00231 // Hard-coded polling-timeout to 10 msec 00232 ACE_Time_Value timeout (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT); 00233 return new TAO_EC_Reactive_ConsumerControl (rate, timeout, ec, orb.in ()); 00234 }
ACE_Lock * TAO_EC_Basic_Factory::create_consumer_lock | ( | void | ) | [virtual] |
Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers
Implements TAO_EC_Factory.
Definition at line 199 of file EC_Basic_Factory.cpp.
00200 { 00201 return new ACE_Lock_Adapter<TAO_SYNCH_MUTEX> (); 00202 }
TAO_EC_Dispatching * TAO_EC_Basic_Factory::create_dispatching | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the dispatching module.
Implements TAO_EC_Factory.
Definition at line 38 of file EC_Basic_Factory.cpp.
00039 { 00040 return new TAO_EC_Reactive_Dispatching (); 00041 }
TAO_EC_Filter_Builder * TAO_EC_Basic_Factory::create_filter_builder | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the filter builder.
Implements TAO_EC_Factory.
Definition at line 50 of file EC_Basic_Factory.cpp.
00051 { 00052 return new TAO_EC_Basic_Filter_Builder (ec); 00053 }
TAO_EC_ObserverStrategy * TAO_EC_Basic_Factory::create_observer_strategy | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the observer strategy.
Implements TAO_EC_Factory.
Definition at line 139 of file EC_Basic_Factory.cpp.
References ACE_NEW_RETURN.
00140 { 00141 ACE_Lock* lock; 00142 ACE_NEW_RETURN (lock, ACE_Lock_Adapter<TAO_SYNCH_MUTEX>, 0); 00143 return new TAO_EC_Basic_ObserverStrategy (ec, lock); 00144 }
TAO_EC_ProxyPushConsumer * TAO_EC_Basic_Factory::create_proxy_push_consumer | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy a ProxyPushConsumer.
Implements TAO_EC_Factory.
Definition at line 110 of file EC_Basic_Factory.cpp.
00111 { 00112 return new TAO_EC_Default_ProxyPushConsumer (ec); 00113 }
TAO_EC_ProxyPushConsumer_Collection * TAO_EC_Basic_Factory::create_proxy_push_consumer_collection | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy a collection of TAO_EC_ProxyPushConsumers.
Implements TAO_EC_Factory.
Definition at line 165 of file EC_Basic_Factory.cpp.
References ACE_SYNCH.
00166 { 00167 // This typedef is a workaround for a SunCC 4.2 bug 00168 typedef TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>::Iterator TAO_EC_Consumer_List_Iterator; 00169 return new TAO_ESF_Delayed_Changes<TAO_EC_ProxyPushConsumer, 00170 TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>, 00171 TAO_ESF_Proxy_List<TAO_EC_ProxyPushConsumer>::Iterator, 00172 ACE_SYNCH> (); 00173 }
TAO_EC_ProxyPushSupplier * TAO_EC_Basic_Factory::create_proxy_push_supplier | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy a ProxyPushSupplier.
Implements TAO_EC_Factory.
Definition at line 98 of file EC_Basic_Factory.cpp.
References TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION.
00099 { 00100 return new TAO_EC_Default_ProxyPushSupplier (ec, TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION); 00101 }
TAO_EC_ProxyPushSupplier_Collection * TAO_EC_Basic_Factory::create_proxy_push_supplier_collection | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy a collection of TAO_EC_ProxyPushSuppliers.
Implements TAO_EC_Factory.
Definition at line 182 of file EC_Basic_Factory.cpp.
References ACE_SYNCH.
00183 { 00184 // This typedef is a workaround for a SunCC 4.2 bug 00185 typedef TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>::Iterator TAO_EC_Supplier_List_Iterator; 00186 return new TAO_ESF_Delayed_Changes<TAO_EC_ProxyPushSupplier, 00187 TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>, 00188 TAO_ESF_Proxy_List<TAO_EC_ProxyPushSupplier>::Iterator, 00189 ACE_SYNCH> (); 00190 }
TAO_EC_Scheduling_Strategy * TAO_EC_Basic_Factory::create_scheduling_strategy | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the observer strategy.
Implements TAO_EC_Factory.
Definition at line 153 of file EC_Basic_Factory.cpp.
00154 { 00155 return new TAO_EC_Null_Scheduling; 00156 }
TAO_EC_SupplierAdmin * TAO_EC_Basic_Factory::create_supplier_admin | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the supplier admin implementation.
Implements TAO_EC_Factory.
Definition at line 86 of file EC_Basic_Factory.cpp.
00087 { 00088 return new TAO_EC_SupplierAdmin (ec); 00089 }
TAO_EC_SupplierControl * TAO_EC_Basic_Factory::create_supplier_control | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Implements TAO_EC_Factory.
Definition at line 243 of file EC_Basic_Factory.cpp.
References TAO_Pseudo_Var_T< T >::in(), CORBA::ORB_init(), and TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT.
00244 { 00245 int argc = 0; 00246 char **argv = 0; 00247 CORBA::ORB_var orb = 00248 CORBA::ORB_init (argc, argv); 00249 // Hard-coded rate to 10 times a second 00250 ACE_Time_Value rate (0, 100000); 00251 // Hard-coded polling-timeout to 10 msec 00252 ACE_Time_Value timeout (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT); 00253 return new TAO_EC_Reactive_SupplierControl (rate, timeout, ec, orb.in ()); 00254 }
TAO_EC_Supplier_Filter_Builder * TAO_EC_Basic_Factory::create_supplier_filter_builder | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the filter builder.
Implements TAO_EC_Factory.
Definition at line 62 of file EC_Basic_Factory.cpp.
00063 { 00064 return new TAO_EC_Trivial_Supplier_Filter_Builder (ec); 00065 }
ACE_Lock * TAO_EC_Basic_Factory::create_supplier_lock | ( | void | ) | [virtual] |
Implements TAO_EC_Factory.
Definition at line 211 of file EC_Basic_Factory.cpp.
00212 { 00213 return new ACE_Lock_Adapter<TAO_SYNCH_RECURSIVE_MUTEX> (); 00214 }
TAO_EC_Timeout_Generator * TAO_EC_Basic_Factory::create_timeout_generator | ( | TAO_EC_Event_Channel_Base * | ) | [virtual] |
Create and destroy the timer module.
Implements TAO_EC_Factory.
Definition at line 122 of file EC_Basic_Factory.cpp.
References CORBA::ORB_init(), and ACE_Event_Handler::reactor().
00123 { 00124 int argc = 0; 00125 char **argv = 0; 00126 CORBA::ORB_var orb = 00127 CORBA::ORB_init (argc, argv); 00128 ACE_Reactor *reactor = orb->orb_core ()->reactor (); 00129 return new TAO_EC_Reactive_Timeout_Generator (reactor); 00130 }
void TAO_EC_Basic_Factory::destroy_consumer_admin | ( | TAO_EC_ConsumerAdmin * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_consumer_control | ( | TAO_EC_ConsumerControl * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_consumer_lock | ( | ACE_Lock * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_dispatching | ( | TAO_EC_Dispatching * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_filter_builder | ( | TAO_EC_Filter_Builder * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_observer_strategy | ( | TAO_EC_ObserverStrategy * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_proxy_push_consumer | ( | TAO_EC_ProxyPushConsumer * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_proxy_push_consumer_collection | ( | TAO_EC_ProxyPushConsumer_Collection * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_proxy_push_supplier | ( | TAO_EC_ProxyPushSupplier * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_proxy_push_supplier_collection | ( | TAO_EC_ProxyPushSupplier_Collection * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_scheduling_strategy | ( | TAO_EC_Scheduling_Strategy * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_supplier_admin | ( | TAO_EC_SupplierAdmin * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_supplier_control | ( | TAO_EC_SupplierControl * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_supplier_filter_builder | ( | TAO_EC_Supplier_Filter_Builder * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_supplier_lock | ( | ACE_Lock * | ) | [virtual] |
void TAO_EC_Basic_Factory::destroy_timeout_generator | ( | TAO_EC_Timeout_Generator * | ) | [virtual] |