TAO_RTEvent  2.1.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
Collaboration diagram for TAO_EC_Default_Factory:
Collaboration graph

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.
- Public Member Functions inherited from TAO_EC_Factory
 TAO_EC_Factory (void)
 destructor...
virtual ~TAO_EC_Factory (void)
- Public Member Functions inherited from ACE_Service_Object
 ACE_Service_Object (ACE_Reactor *=0)
virtual ~ACE_Service_Object (void)
virtual int suspend (void)
virtual int resume (void)
virtual ~ACE_Event_Handler (void)
virtual ACE_HANDLE get_handle (void) const
virtual void set_handle (ACE_HANDLE)
virtual int priority (void) const
virtual void priority (int priority)
virtual int handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE)
virtual int handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE)
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
virtual int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
virtual int handle_exit (ACE_Process *)
virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask)
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
virtual int resume_handler (void)
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
virtual void reactor (ACE_Reactor *reactor)
virtual ACE_Reactorreactor (void) const
virtual
ACE_Reactor_Timer_Interface
reactor_timer_interface (void) const
virtual Reference_Count add_reference (void)
virtual Reference_Count remove_reference (void)
Reference_Counting_Policyreference_counting_policy (void)
 ACE_Shared_Object (void)
virtual ~ACE_Shared_Object (void)
virtual int info (ACE_TCHAR **info_string, size_t length=0) const

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_Service_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

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_TString 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: