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 char *option_value)
TAO_EC_Queue_Full_Service_Objectfind_service_object (const char *wanted, const char *fallback)
 name of ACE_Service_Object which should be invoked when output queue becomes full

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_
 Flags used by thread-based dispatching strategies.
int dispatching_threads_flags_
 number of threads; may be ignored depending on strategy; default: TAO_EC_DEFAULT_DISPATCHING_THREADS
int dispatching_threads_priority_
 flags for thread creation; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS
int dispatching_threads_force_active_
 dispatching thread priority; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY
ACE_CString queue_full_service_object_name_
 create threads with innocuous default values if creation with requested values fails
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

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_EC_Default_Factory::TAO_EC_Default_Factory ( void   ) 

Constructor.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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, TAO_EC_Sched_Factory, and TAO_EC_TPC_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.

Reimplemented in TAO_EC_TPC_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.

Reimplemented in TAO_EC_TPC_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]

name of ACE_Service_Object which should be invoked when output queue becomes full

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 char *  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]

Flags used by thread-based dispatching strategies.

int TAO_EC_Default_Factory::dispatching_threads_flags_ [protected]

number of threads; may be ignored depending on strategy; default: TAO_EC_DEFAULT_DISPATCHING_THREADS

int TAO_EC_Default_Factory::dispatching_threads_force_active_ [protected]

dispatching thread priority; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY

int TAO_EC_Default_Factory::dispatching_threads_priority_ [protected]

flags for thread creation; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS

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]

create threads with innocuous default values if creation with requested values fails

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 Mon Apr 30 23:20:44 2007 for TAO_RTEvent by  doxygen 1.4.7-1