Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TAO_CEC_Default_Factory Class Reference

A generic factory for EC experimentation. More...

#include <CEC_Default_Factory.h>

Inheritance diagram for TAO_CEC_Default_Factory

Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_Default_Factory:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_CEC_Default_Factory (void)
 Constructor.

virtual ~TAO_CEC_Default_Factory (void)
 destructor...

virtual int init (int argc, char* argv[])
virtual int fini (void)
virtual TAO_CEC_Dispatchingcreate_dispatching (TAO_CEC_EventChannel*)
 Create and destroy the dispatching module.

virtual void destroy_dispatching (TAO_CEC_Dispatching*)
virtual TAO_CEC_Pulling_Strategycreate_pulling_strategy (TAO_CEC_EventChannel*)
 Create and destroy the pulling strategy.

virtual void destroy_pulling_strategy (TAO_CEC_Pulling_Strategy*)
virtual TAO_CEC_ConsumerAdmincreate_consumer_admin (TAO_CEC_EventChannel*)
 Create and destroy the consumer admin implementation.

virtual void destroy_consumer_admin (TAO_CEC_ConsumerAdmin*)
virtual TAO_CEC_SupplierAdmincreate_supplier_admin (TAO_CEC_EventChannel*)
 Create and destroy the supplier admin implementation.

virtual void destroy_supplier_admin (TAO_CEC_SupplierAdmin*)
virtual TAO_CEC_ProxyPushSuppliercreate_proxy_push_supplier (TAO_CEC_EventChannel*)
 Create and destroy a ProxyPushSupplier.

virtual void destroy_proxy_push_supplier (TAO_CEC_ProxyPushSupplier*)
virtual TAO_CEC_ProxyPullSuppliercreate_proxy_pull_supplier (TAO_CEC_EventChannel*)
 Create and destroy a ProxyPullSupplier.

virtual void destroy_proxy_pull_supplier (TAO_CEC_ProxyPullSupplier*)
virtual TAO_CEC_ProxyPushConsumercreate_proxy_push_consumer (TAO_CEC_EventChannel*)
 Create and destroy a ProxyPushConsumer.

virtual void destroy_proxy_push_consumer (TAO_CEC_ProxyPushConsumer*)
virtual TAO_CEC_ProxyPullConsumercreate_proxy_pull_consumer (TAO_CEC_EventChannel*)
 Create and destroy a ProxyPullConsumer.

virtual void destroy_proxy_pull_consumer (TAO_CEC_ProxyPullConsumer*)
virtual TAO_CEC_ProxyPushConsumer_Collectioncreate_proxy_push_consumer_collection (TAO_CEC_EventChannel*)
 Create and destroy a collection of TAO_CEC_ProxyPushConsumers.

virtual void destroy_proxy_push_consumer_collection (TAO_CEC_ProxyPushConsumer_Collection*)
virtual TAO_CEC_ProxyPullConsumer_Collectioncreate_proxy_pull_consumer_collection (TAO_CEC_EventChannel*)
 Create and destroy a collection of TAO_CEC_ProxyPullConsumers.

virtual void destroy_proxy_pull_consumer_collection (TAO_CEC_ProxyPullConsumer_Collection*)
virtual TAO_CEC_ProxyPushSupplier_Collectioncreate_proxy_push_supplier_collection (TAO_CEC_EventChannel*)
 Create and destroy a collection of TAO_CEC_ProxyPushSuppliers.

virtual void destroy_proxy_push_supplier_collection (TAO_CEC_ProxyPushSupplier_Collection*)
virtual TAO_CEC_ProxyPullSupplier_Collectioncreate_proxy_pull_supplier_collection (TAO_CEC_EventChannel*)
 Create and destroy a collection of TAO_CEC_ProxyPullSuppliers.

virtual void destroy_proxy_pull_supplier_collection (TAO_CEC_ProxyPullSupplier_Collection*)
virtual ACE_Lockcreate_consumer_lock (void)
 Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers.

virtual void destroy_consumer_lock (ACE_Lock*)
virtual ACE_Lockcreate_supplier_lock (void)
virtual void destroy_supplier_lock (ACE_Lock*)
virtual TAO_CEC_ConsumerControlcreate_consumer_control (TAO_CEC_EventChannel*)
 The ConsumerControl and SupplierControl strategies are used to discard non-existent consumers and suppliers.

virtual void destroy_consumer_control (TAO_CEC_ConsumerControl*)
virtual TAO_CEC_SupplierControlcreate_supplier_control (TAO_CEC_EventChannel*)
virtual void destroy_supplier_control (TAO_CEC_SupplierControl*)

Static Public Methods

int init_svcs (void)
 Helper function to register the default factory into the service configurator.


Private Methods

int parse_collection_arg (char *opt)
 Parse an argument to set the type of collections used.


Private Attributes

int dispatching_
 Several flags to control the kind of object created.

int pulling_strategy_
int consumer_collection_
int supplier_collection_
int consumer_lock_
int supplier_lock_
int dispatching_threads_
 The MT dispatching priority has several arguments that could be controlled here...

int dispatching_threads_flags_
int dispatching_threads_priority_
int dispatching_threads_force_active_
int reactive_pulling_period_
 How often (in microseconds) are the pull suppliers polled by the reactive pulling strategy.

const char* 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_

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. = MEMORY MANAGMENT


Constructor & Destructor Documentation

ACE_INLINE TAO_CEC_Default_Factory::TAO_CEC_Default_Factory ( void )
 

Constructor.

TAO_CEC_Default_Factory::~TAO_CEC_Default_Factory ( void ) [inline, virtual]
 

destructor...


Member Function Documentation

TAO_CEC_ConsumerAdmin * TAO_CEC_Default_Factory::create_consumer_admin ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy the consumer admin implementation.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ConsumerControl * TAO_CEC_Default_Factory::create_consumer_control ( TAO_CEC_EventChannel * ec ) [virtual]
 

The ConsumerControl and SupplierControl strategies are used to discard non-existent consumers and suppliers.

Reimplemented from TAO_CEC_Factory.

ACE_Lock * TAO_CEC_Default_Factory::create_consumer_lock ( void ) [virtual]
 

Create and destroy the locking strategies for both ProxyPushConsumers and ProxyPushSuppliers.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_Dispatching * TAO_CEC_Default_Factory::create_dispatching ( TAO_CEC_EventChannel * ) [virtual]
 

Create and destroy the dispatching module.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPullConsumer * TAO_CEC_Default_Factory::create_proxy_pull_consumer ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy a ProxyPullConsumer.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPullConsumer_Collection * TAO_CEC_Default_Factory::create_proxy_pull_consumer_collection ( TAO_CEC_EventChannel * ) [virtual]
 

Create and destroy a collection of TAO_CEC_ProxyPullConsumers.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPullSupplier * TAO_CEC_Default_Factory::create_proxy_pull_supplier ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy a ProxyPullSupplier.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPullSupplier_Collection * TAO_CEC_Default_Factory::create_proxy_pull_supplier_collection ( TAO_CEC_EventChannel * ) [virtual]
 

Create and destroy a collection of TAO_CEC_ProxyPullSuppliers.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPushConsumer * TAO_CEC_Default_Factory::create_proxy_push_consumer ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy a ProxyPushConsumer.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPushConsumer_Collection * TAO_CEC_Default_Factory::create_proxy_push_consumer_collection ( TAO_CEC_EventChannel * ) [virtual]
 

Create and destroy a collection of TAO_CEC_ProxyPushConsumers.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPushSupplier * TAO_CEC_Default_Factory::create_proxy_push_supplier ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy a ProxyPushSupplier.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_ProxyPushSupplier_Collection * TAO_CEC_Default_Factory::create_proxy_push_supplier_collection ( TAO_CEC_EventChannel * ) [virtual]
 

Create and destroy a collection of TAO_CEC_ProxyPushSuppliers.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_Pulling_Strategy * TAO_CEC_Default_Factory::create_pulling_strategy ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy the pulling strategy.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_SupplierAdmin * TAO_CEC_Default_Factory::create_supplier_admin ( TAO_CEC_EventChannel * ec ) [virtual]
 

Create and destroy the supplier admin implementation.

Reimplemented from TAO_CEC_Factory.

TAO_CEC_SupplierControl * TAO_CEC_Default_Factory::create_supplier_control ( TAO_CEC_EventChannel * ec ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

ACE_Lock * TAO_CEC_Default_Factory::create_supplier_lock ( void ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_admin ( TAO_CEC_ConsumerAdmin * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_control ( TAO_CEC_ConsumerControl * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_lock ( ACE_Lock * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_dispatching ( TAO_CEC_Dispatching * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_consumer ( TAO_CEC_ProxyPullConsumer * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_consumer_collection ( TAO_CEC_ProxyPullConsumer_Collection * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_supplier ( TAO_CEC_ProxyPullSupplier * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_supplier_collection ( TAO_CEC_ProxyPullSupplier_Collection * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_consumer ( TAO_CEC_ProxyPushConsumer * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_consumer_collection ( TAO_CEC_ProxyPushConsumer_Collection * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_supplier ( TAO_CEC_ProxyPushSupplier * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_supplier_collection ( TAO_CEC_ProxyPushSupplier_Collection * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_pulling_strategy ( TAO_CEC_Pulling_Strategy * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_admin ( TAO_CEC_SupplierAdmin * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_control ( TAO_CEC_SupplierControl * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_lock ( ACE_Lock * x ) [virtual]
 

Reimplemented from TAO_CEC_Factory.

int TAO_CEC_Default_Factory::fini ( void ) [virtual]
 

Reimplemented from ACE_Shared_Object.

int TAO_CEC_Default_Factory::init ( int argc,
char * argv[] ) [virtual]
 

int TAO_CEC_Default_Factory::init_svcs ( void ) [static]
 

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

int TAO_CEC_Default_Factory::parse_collection_arg ( char * opt ) [private]
 

Parse an argument to set the type of collections used.


Member Data Documentation

int TAO_CEC_Default_Factory::consumer_collection_ [private]
 

int TAO_CEC_Default_Factory::consumer_control_ [private]
 

The consumer and supplier control policies.

int TAO_CEC_Default_Factory::consumer_control_period_ [private]
 

The consumer and supplier control periods in usecs.

int TAO_CEC_Default_Factory::consumer_lock_ [private]
 

int TAO_CEC_Default_Factory::dispatching_ [private]
 

Several flags to control the kind of object created.

int TAO_CEC_Default_Factory::dispatching_threads_ [private]
 

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

int TAO_CEC_Default_Factory::dispatching_threads_flags_ [private]
 

int TAO_CEC_Default_Factory::dispatching_threads_force_active_ [private]
 

int TAO_CEC_Default_Factory::dispatching_threads_priority_ [private]
 

const char * TAO_CEC_Default_Factory::orbid_ [private]
 

Use this ORB to locate global resources.

int TAO_CEC_Default_Factory::pulling_strategy_ [private]
 

int TAO_CEC_Default_Factory::reactive_pulling_period_ [private]
 

How often (in microseconds) are the pull suppliers polled by the reactive pulling strategy.

int TAO_CEC_Default_Factory::supplier_collection_ [private]
 

int TAO_CEC_Default_Factory::supplier_control_ [private]
 

int TAO_CEC_Default_Factory::supplier_control_period_ [private]
 

int TAO_CEC_Default_Factory::supplier_lock_ [private]
 


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:09:32 2001 for TAO_CosEvent by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000