TAO_EC_Default_Factory Class Reference

A generic factory for EC experimentation. More...

#include <EC_Default_Factory.h>

Inheritance diagram for TAO_EC_Default_Factory:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Default_Factory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Default_Factory (void)
 Constructor.
virtual ~TAO_EC_Default_Factory (void)
 destructor...
virtual int init (int argc, ACE_TCHAR *argv[])
virtual int fini (void)
virtual TAO_EC_Dispatchingcreate_dispatching (TAO_EC_Event_Channel_Base *)
 Create and destroy the dispatching module.
virtual void destroy_dispatching (TAO_EC_Dispatching *)
virtual TAO_EC_Filter_Buildercreate_filter_builder (TAO_EC_Event_Channel_Base *)
 Create and destroy the filter builder.
virtual void destroy_filter_builder (TAO_EC_Filter_Builder *)
virtual TAO_EC_Supplier_Filter_Buildercreate_supplier_filter_builder (TAO_EC_Event_Channel_Base *)
 Create and destroy the filter builder.
virtual void destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *)
virtual TAO_EC_ConsumerAdmincreate_consumer_admin (TAO_EC_Event_Channel_Base *)
 Create and destroy the consumer admin implementation.
virtual void destroy_consumer_admin (TAO_EC_ConsumerAdmin *)
virtual TAO_EC_SupplierAdmincreate_supplier_admin (TAO_EC_Event_Channel_Base *)
 Create and destroy the supplier admin implementation.
virtual void destroy_supplier_admin (TAO_EC_SupplierAdmin *)
virtual TAO_EC_ProxyPushSuppliercreate_proxy_push_supplier (TAO_EC_Event_Channel_Base *)
 Create and destroy a ProxyPushSupplier.
virtual void destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *)
virtual TAO_EC_ProxyPushConsumercreate_proxy_push_consumer (TAO_EC_Event_Channel_Base *)
 Create and destroy a ProxyPushConsumer.
virtual void destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *)
virtual TAO_EC_Timeout_Generatorcreate_timeout_generator (TAO_EC_Event_Channel_Base *)
 Create and destroy the timer module.
virtual void destroy_timeout_generator (TAO_EC_Timeout_Generator *)
virtual TAO_EC_ObserverStrategycreate_observer_strategy (TAO_EC_Event_Channel_Base *)
 Create and destroy the observer strategy.
virtual void destroy_observer_strategy (TAO_EC_ObserverStrategy *)
virtual TAO_EC_Scheduling_Strategycreate_scheduling_strategy (TAO_EC_Event_Channel_Base *)
 Create and destroy the observer strategy.
virtual void destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy *)
virtual TAO_EC_ProxyPushConsumer_Collectioncreate_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *)
 Create and destroy a collection of TAO_EC_ProxyPushConsumers.
virtual void destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *)
virtual TAO_EC_ProxyPushSupplier_Collectioncreate_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *)
 Create and destroy a collection of TAO_EC_ProxyPushSuppliers.
virtual void destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *)
virtual ACE_Lockcreate_consumer_lock (void)
virtual void destroy_consumer_lock (ACE_Lock *)
virtual ACE_Lockcreate_supplier_lock (void)
virtual void destroy_supplier_lock (ACE_Lock *)
virtual TAO_EC_ConsumerControlcreate_consumer_control (TAO_EC_Event_Channel_Base *)
virtual void destroy_consumer_control (TAO_EC_ConsumerControl *)
virtual TAO_EC_SupplierControlcreate_supplier_control (TAO_EC_Event_Channel_Base *)
virtual void destroy_supplier_control (TAO_EC_SupplierControl *)
int consumer_collection (void) const
 Accessors to consumer collection flags.
int supplier_collection (void) const
 Accessors to supplier collection flags.
int supplier_filtering (void) const
 Accessors to supplier filtering flags.
const ACE_CStringorb_id (void) const
 Accessor to ORBid.

Static Public Member Functions

static int init_svcs (void)

Protected Member Functions

void unsupported_option_value (const char *option_name, const ACE_TCHAR *option_value)
TAO_EC_Queue_Full_Service_Objectfind_service_object (const char *wanted, const char *fallback)

Protected Attributes

int dispatching_
 Several flags to control the kind of object created.
int filtering_
int supplier_filtering_
int timeout_
int observer_
int scheduling_
int consumer_collection_
int supplier_collection_
int consumer_lock_
int supplier_lock_
int dispatching_threads_
int dispatching_threads_flags_
int dispatching_threads_priority_
int dispatching_threads_force_active_
ACE_CString queue_full_service_object_name_
ACE_CString orbid_
 Use this ORB to locate global resources.
int consumer_control_
 The consumer and supplier control policies.
int supplier_control_
int consumer_control_period_
 The consumer and supplier control periods in usecs.
int supplier_control_period_
ACE_Time_Value consumer_control_timeout_
 The consumer control timeout in usecs.
ACE_Time_Value supplier_control_timeout_
 The supplier control timeout in usecs.
int consumer_validate_connection_
 Validate the connection to consumer on connect.

Detailed Description

A generic factory for EC experimentation.

This class allows the user to experiment with different EC configurations. Using a command-line like interface the user can specify which strategies will this factory generate. Since the class can be dynamically loaded the strategies can be set in the service configurator file.


Constructor & Destructor Documentation

ACE_INLINE TAO_EC_Default_Factory::TAO_EC_Default_Factory void   ) 
 

Constructor.

TAO_EC_Default_Factory::~TAO_EC_Default_Factory void   )  [virtual]
 

destructor...


Member Function Documentation

ACE_INLINE int TAO_EC_Default_Factory::consumer_collection void   )  const
 

Accessors to consumer collection flags.

TAO_EC_ConsumerAdmin * TAO_EC_Default_Factory::create_consumer_admin TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the consumer admin implementation.

Implements TAO_EC_Factory.

TAO_EC_ConsumerControl * TAO_EC_Default_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.

ACE_Lock * TAO_EC_Default_Factory::create_consumer_lock void   )  [virtual]
 

Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers

Implements TAO_EC_Factory.

TAO_EC_Dispatching * TAO_EC_Default_Factory::create_dispatching TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the dispatching module.

Implements TAO_EC_Factory.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_Sched_Factory.

TAO_EC_Filter_Builder * TAO_EC_Default_Factory::create_filter_builder TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the filter builder.

Implements TAO_EC_Factory.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_Sched_Factory.

TAO_EC_ObserverStrategy * TAO_EC_Default_Factory::create_observer_strategy TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

TAO_EC_ProxyPushConsumer * TAO_EC_Default_Factory::create_proxy_push_consumer TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a ProxyPushConsumer.

Implements TAO_EC_Factory.

TAO_EC_ProxyPushConsumer_Collection * TAO_EC_Default_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.

TAO_EC_ProxyPushSupplier * TAO_EC_Default_Factory::create_proxy_push_supplier TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy a ProxyPushSupplier.

Implements TAO_EC_Factory.

TAO_EC_ProxyPushSupplier_Collection * TAO_EC_Default_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.

TAO_EC_Scheduling_Strategy * TAO_EC_Default_Factory::create_scheduling_strategy TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the observer strategy.

Implements TAO_EC_Factory.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_Sched_Factory.

TAO_EC_SupplierAdmin * TAO_EC_Default_Factory::create_supplier_admin TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the supplier admin implementation.

Implements TAO_EC_Factory.

TAO_EC_SupplierControl * TAO_EC_Default_Factory::create_supplier_control TAO_EC_Event_Channel_Base  )  [virtual]
 

Implements TAO_EC_Factory.

TAO_EC_Supplier_Filter_Builder * TAO_EC_Default_Factory::create_supplier_filter_builder TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the filter builder.

Implements TAO_EC_Factory.

ACE_Lock * TAO_EC_Default_Factory::create_supplier_lock void   )  [virtual]
 

Implements TAO_EC_Factory.

TAO_EC_Timeout_Generator * TAO_EC_Default_Factory::create_timeout_generator TAO_EC_Event_Channel_Base  )  [virtual]
 

Create and destroy the timer module.

Implements TAO_EC_Factory.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_Sched_Factory.

void TAO_EC_Default_Factory::destroy_consumer_admin TAO_EC_ConsumerAdmin  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_consumer_control TAO_EC_ConsumerControl  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_consumer_lock ACE_Lock  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_dispatching TAO_EC_Dispatching  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_filter_builder TAO_EC_Filter_Builder  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_observer_strategy TAO_EC_ObserverStrategy  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_consumer TAO_EC_ProxyPushConsumer  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_consumer_collection TAO_EC_ProxyPushConsumer_Collection  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_supplier TAO_EC_ProxyPushSupplier  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_supplier_collection TAO_EC_ProxyPushSupplier_Collection  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_scheduling_strategy TAO_EC_Scheduling_Strategy  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_admin TAO_EC_SupplierAdmin  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_control TAO_EC_SupplierControl  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_filter_builder TAO_EC_Supplier_Filter_Builder  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_lock ACE_Lock  )  [virtual]
 

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_timeout_generator TAO_EC_Timeout_Generator  )  [virtual]
 

Implements TAO_EC_Factory.

TAO_EC_Queue_Full_Service_Object * TAO_EC_Default_Factory::find_service_object const char *  wanted,
const char *  fallback
[protected]
 

int TAO_EC_Default_Factory::fini void   )  [virtual]
 

Reimplemented from ACE_Shared_Object.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_Sched_Factory.

int TAO_EC_Default_Factory::init int  argc,
ACE_TCHAR argv[]
[virtual]
 

Reimplemented from ACE_Shared_Object.

Reimplemented in TAO_EC_Kokyu_Factory, TAO_EC_Sched_Factory, and TAO_EC_TPC_Factory.

int TAO_EC_Default_Factory::init_svcs void   )  [static]
 

Helper function to register the default factory into the service configurator.

Reimplemented in TAO_EC_Kokyu_Factory, and TAO_EC_TPC_Factory.

ACE_INLINE const ACE_CString & TAO_EC_Default_Factory::orb_id void   )  const
 

Accessor to ORBid.

ACE_INLINE int TAO_EC_Default_Factory::supplier_collection void   )  const
 

Accessors to supplier collection flags.

ACE_INLINE int TAO_EC_Default_Factory::supplier_filtering void   )  const
 

Accessors to supplier filtering flags.

void TAO_EC_Default_Factory::unsupported_option_value const char *  option_name,
const ACE_TCHAR option_value
[protected]
 

Helper for agrument parsing. Prints out an error message about unsupported option value.


Member Data Documentation

int TAO_EC_Default_Factory::consumer_collection_ [protected]
 

int TAO_EC_Default_Factory::consumer_control_ [protected]
 

The consumer and supplier control policies.

int TAO_EC_Default_Factory::consumer_control_period_ [protected]
 

The consumer and supplier control periods in usecs.

ACE_Time_Value TAO_EC_Default_Factory::consumer_control_timeout_ [protected]
 

The consumer control timeout in usecs.

int TAO_EC_Default_Factory::consumer_lock_ [protected]
 

int TAO_EC_Default_Factory::consumer_validate_connection_ [protected]
 

Validate the connection to consumer on connect.

int TAO_EC_Default_Factory::dispatching_ [protected]
 

Several flags to control the kind of object created.

int TAO_EC_Default_Factory::dispatching_threads_ [protected]
 

The MT dispatching priority has several arguments that could be controlled here...

int TAO_EC_Default_Factory::dispatching_threads_flags_ [protected]
 

int TAO_EC_Default_Factory::dispatching_threads_force_active_ [protected]
 

int TAO_EC_Default_Factory::dispatching_threads_priority_ [protected]
 

int TAO_EC_Default_Factory::filtering_ [protected]
 

int TAO_EC_Default_Factory::observer_ [protected]
 

ACE_CString TAO_EC_Default_Factory::orbid_ [protected]
 

Use this ORB to locate global resources.

ACE_CString TAO_EC_Default_Factory::queue_full_service_object_name_ [protected]
 

int TAO_EC_Default_Factory::scheduling_ [protected]
 

int TAO_EC_Default_Factory::supplier_collection_ [protected]
 

int TAO_EC_Default_Factory::supplier_control_ [protected]
 

int TAO_EC_Default_Factory::supplier_control_period_ [protected]
 

ACE_Time_Value TAO_EC_Default_Factory::supplier_control_timeout_ [protected]
 

The supplier control timeout in usecs.

int TAO_EC_Default_Factory::supplier_filtering_ [protected]
 

int TAO_EC_Default_Factory::supplier_lock_ [protected]
 

int TAO_EC_Default_Factory::timeout_ [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:18:32 2005 for TAO_RTEvent by  doxygen 1.4.5