TAO_RTEvent  2.4.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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]

Public Member Functions

 TAO_EC_Default_Factory (void)
 Constructor. More...
 
virtual ~TAO_EC_Default_Factory (void)
 destructor... More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
int supplier_collection (void) const
 Accessors to supplier collection flags. More...
 
int supplier_filtering (void) const
 Accessors to supplier filtering flags. More...
 
const ACE_CStringorb_id (void) const
 Accessor to ORBid. More...
 
- Public Member Functions inherited from TAO_EC_Factory
 TAO_EC_Factory (void)
 destructor... More...
 
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)
 
- Public Member Functions inherited from ACE_Event_Handler
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_Interfacereactor_timer_interface (void) const
 
virtual Reference_Count add_reference (void)
 
virtual Reference_Count remove_reference (void)
 
Reference_Counting_Policyreference_counting_policy (void)
 
- Public Member Functions inherited from ACE_Shared_Object
 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)
 
- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 

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 More...
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 

Protected Attributes

int dispatching_
 Several flags to control the kind of object created. More...
 
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. More...
 
int dispatching_threads_flags_
 number of threads; may be ignored depending on strategy; default: TAO_EC_DEFAULT_DISPATCHING_THREADS More...
 
int dispatching_threads_priority_
 flags for thread creation; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS More...
 
int dispatching_threads_force_active_
 dispatching thread priority; default: TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY More...
 
ACE_TString queue_full_service_object_name_
 create threads with innocuous default values if creation with requested values fails More...
 
ACE_CString orbid_
 Use this ORB to locate global resources. More...
 
int consumer_control_
 The consumer and supplier control policies. More...
 
int supplier_control_
 
int consumer_control_period_
 The consumer and supplier control periods in usecs. More...
 
int supplier_control_period_
 
ACE_Time_Value consumer_control_timeout_
 The consumer control timeout in usecs. More...
 
ACE_Time_Value supplier_control_timeout_
 The supplier control timeout in usecs. More...
 
int consumer_validate_connection_
 Validate the connection to consumer on connect. More...
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 

Additional Inherited Members

- Public Types inherited from ACE_Event_Handler
typedef long Reference_Count
 
- Public Attributes inherited from ACE_Service_Object
 ACE_ALLOC_HOOK_DECLARE
 
- Public Attributes inherited from ACE_Event_Handler
 LO_PRIORITY
 
 HI_PRIORITY
 
 NULL_MASK
 
 READ_MASK
 
 WRITE_MASK
 
 EXCEPT_MASK
 
 ACCEPT_MASK
 
 CONNECT_MASK
 
 TIMER_MASK
 
 QOS_MASK
 
 GROUP_QOS_MASK
 
 SIGNAL_MASK
 
 ALL_EVENTS_MASK
 
 RWE_MASK
 
 DONT_CALL
 
 ACE_EVENT_HANDLER_NOT_RESUMED
 
 ACE_REACTOR_RESUMES_HANDLER
 
 ACE_APPLICATION_RESUMES_HANDLER
 
- Protected Types inherited from ACE_Event_Handler
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_CountAtomic_Reference_Count
 

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.

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: