TAO_RTEvent  2.0.8
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
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_Builder
create_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_Strategy
create_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_Collection
create_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_Collection
create_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 ACE_TCHAR *option_name, const ACE_TCHAR *option_value)
TAO_EC_Queue_Full_Service_Objectfind_service_object (const ACE_TCHAR *wanted, const ACE_TCHAR *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_TString 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_EC_Default_Factory::TAO_EC_Default_Factory ( void  )

Constructor.

TAO_EC_Default_Factory::~TAO_EC_Default_Factory ( void  ) [virtual]

destructor...


Member Function Documentation

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 ec) [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 x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_consumer_control ( TAO_EC_ConsumerControl x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_consumer_lock ( ACE_Lock x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_dispatching ( TAO_EC_Dispatching x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_filter_builder ( TAO_EC_Filter_Builder x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_observer_strategy ( TAO_EC_ObserverStrategy x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_consumer ( TAO_EC_ProxyPushConsumer x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_consumer_collection ( TAO_EC_ProxyPushConsumer_Collection x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_supplier ( TAO_EC_ProxyPushSupplier x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_proxy_push_supplier_collection ( TAO_EC_ProxyPushSupplier_Collection x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_scheduling_strategy ( TAO_EC_Scheduling_Strategy x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_admin ( TAO_EC_SupplierAdmin x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_control ( TAO_EC_SupplierControl x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_filter_builder ( TAO_EC_Supplier_Filter_Builder x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_supplier_lock ( ACE_Lock x) [virtual]

Implements TAO_EC_Factory.

void TAO_EC_Default_Factory::destroy_timeout_generator ( TAO_EC_Timeout_Generator x) [virtual]

Implements TAO_EC_Factory.

TAO_EC_Queue_Full_Service_Object * TAO_EC_Default_Factory::find_service_object ( const ACE_TCHAR wanted,
const ACE_TCHAR 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]
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.

const ACE_CString & TAO_EC_Default_Factory::orb_id ( void  ) const

Accessor to ORBid.

int TAO_EC_Default_Factory::supplier_collection ( void  ) const

Accessors to supplier collection flags.

int TAO_EC_Default_Factory::supplier_filtering ( void  ) const

Accessors to supplier filtering flags.

void TAO_EC_Default_Factory::unsupported_option_value ( const ACE_TCHAR option_name,
const ACE_TCHAR option_value 
) [protected]

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


Member Data Documentation

The consumer and supplier control policies.

The consumer and supplier control periods in usecs.

The consumer control timeout in usecs.

Validate the connection to consumer on connect.

Several flags to control the kind of object created.

Flags used by thread-based dispatching strategies.

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

dispatching thread priority; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY

flags for thread creation; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS

Use this ORB to locate global resources.

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

The supplier control timeout in usecs.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines