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 Member Functions

 TAO_CEC_Default_Factory (void)
 Constructor.
virtual ~TAO_CEC_Default_Factory (void)
 destructor...
virtual int init (int argc, ACE_TCHAR *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)
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 *)
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 Member Functions

static int init_svcs (void)

Private Member Functions

int parse_collection_arg (ACE_TCHAR *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_
int dispatching_threads_flags_
int dispatching_threads_priority_
int dispatching_threads_force_active_
int reactive_pulling_period_
char * orbid_
 Use this ORB to locate global resources.
int orbid_dupped_
 Indicate ORB ID has been duplicated (memory allocated).
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 and supplier control timeout in usecs.
ACE_Time_Value supplier_control_timeout_
unsigned int proxy_disconnect_retries_
 The number of retries before disconnecting a proxy.

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

destructor...


Member Function Documentation

TAO_CEC_ConsumerAdmin * TAO_CEC_Default_Factory::create_consumer_admin TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy the consumer admin implementation.

Implements TAO_CEC_Factory.

TAO_CEC_ConsumerControl * TAO_CEC_Default_Factory::create_consumer_control TAO_CEC_EventChannel  )  [virtual]
 

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

Implements 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

Implements TAO_CEC_Factory.

TAO_CEC_Dispatching * TAO_CEC_Default_Factory::create_dispatching TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy the dispatching module.

Implements TAO_CEC_Factory.

TAO_CEC_ProxyPullConsumer * TAO_CEC_Default_Factory::create_proxy_pull_consumer TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy a ProxyPullConsumer.

Implements 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.

Implements TAO_CEC_Factory.

TAO_CEC_ProxyPullSupplier * TAO_CEC_Default_Factory::create_proxy_pull_supplier TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy a ProxyPullSupplier.

Implements 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.

Implements TAO_CEC_Factory.

TAO_CEC_ProxyPushConsumer * TAO_CEC_Default_Factory::create_proxy_push_consumer TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy a ProxyPushConsumer.

Implements 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.

Implements TAO_CEC_Factory.

TAO_CEC_ProxyPushSupplier * TAO_CEC_Default_Factory::create_proxy_push_supplier TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy a ProxyPushSupplier.

Implements 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.

Implements TAO_CEC_Factory.

TAO_CEC_Pulling_Strategy * TAO_CEC_Default_Factory::create_pulling_strategy TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy the pulling strategy.

Implements TAO_CEC_Factory.

TAO_CEC_SupplierAdmin * TAO_CEC_Default_Factory::create_supplier_admin TAO_CEC_EventChannel  )  [virtual]
 

Create and destroy the supplier admin implementation.

Implements TAO_CEC_Factory.

TAO_CEC_SupplierControl * TAO_CEC_Default_Factory::create_supplier_control TAO_CEC_EventChannel  )  [virtual]
 

Implements TAO_CEC_Factory.

ACE_Lock * TAO_CEC_Default_Factory::create_supplier_lock void   )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_admin TAO_CEC_ConsumerAdmin  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_control TAO_CEC_ConsumerControl  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_consumer_lock ACE_Lock  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_dispatching TAO_CEC_Dispatching  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_consumer TAO_CEC_ProxyPullConsumer  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_consumer_collection TAO_CEC_ProxyPullConsumer_Collection  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_supplier TAO_CEC_ProxyPullSupplier  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_pull_supplier_collection TAO_CEC_ProxyPullSupplier_Collection  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_consumer TAO_CEC_ProxyPushConsumer  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_consumer_collection TAO_CEC_ProxyPushConsumer_Collection  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_supplier TAO_CEC_ProxyPushSupplier  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_proxy_push_supplier_collection TAO_CEC_ProxyPushSupplier_Collection  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_pulling_strategy TAO_CEC_Pulling_Strategy  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_admin TAO_CEC_SupplierAdmin  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_control TAO_CEC_SupplierControl  )  [virtual]
 

Implements TAO_CEC_Factory.

void TAO_CEC_Default_Factory::destroy_supplier_lock ACE_Lock  )  [virtual]
 

Implements TAO_CEC_Factory.

int TAO_CEC_Default_Factory::fini void   )  [virtual]
 

Reimplemented from ACE_Shared_Object.

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

Reimplemented from ACE_Shared_Object.

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 ACE_TCHAR 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.

ACE_Time_Value TAO_CEC_Default_Factory::consumer_control_timeout_ [private]
 

The consumer and supplier control timeout 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]
 

char* TAO_CEC_Default_Factory::orbid_ [private]
 

Use this ORB to locate global resources.

int TAO_CEC_Default_Factory::orbid_dupped_ [private]
 

Indicate ORB ID has been duplicated (memory allocated).

unsigned int TAO_CEC_Default_Factory::proxy_disconnect_retries_ [private]
 

The number of retries before disconnecting a proxy.

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]
 

ACE_Time_Value TAO_CEC_Default_Factory::supplier_control_timeout_ [private]
 

int TAO_CEC_Default_Factory::supplier_lock_ [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:20:22 2005 for TAO_CosEvent by  doxygen 1.4.5