TAO_Strategies  2.1.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
TAO_Advanced_Resource_Factory Class Reference

TAO's default resource factory. More...

#include <advanced_resource.h>

Inheritance diagram for TAO_Advanced_Resource_Factory:
Inheritance graph
Collaboration diagram for TAO_Advanced_Resource_Factory:
Collaboration graph

List of all members.

Public Types

enum  Allocator_Lock_Type { TAO_ALLOCATOR_NULL_LOCK, TAO_ALLOCATOR_THREAD_LOCK }
 Type of lock used for the allocators. More...
enum  {
  TAO_REACTOR_SELECT_MT = 1, TAO_REACTOR_SELECT_ST = 2, TAO_REACTOR_WFMO = 3, TAO_REACTOR_MSGWFMO = 4,
  TAO_REACTOR_TP = 5, TAO_REACTOR_DEV_POLL = 6
}
 Type of Reactor. More...
enum  { TAO_THREAD_QUEUE_NOT_SET, TAO_THREAD_QUEUE_FIFO, TAO_THREAD_QUEUE_LIFO }
 Thread queueing Strategy. More...
- Public Types inherited from TAO_Default_Resource_Factory
enum  Output_CDR_Allocator_Type
enum  Lock_Type
enum  Flushing_Strategy_Type
enum  Purging_Strategy
enum  Resource_Usage
- Public Types inherited from TAO_Resource_Factory
- Public Types inherited from ACE_Service_Object
typedef long Reference_Count
- Public Types inherited from ACE_Event_Handler

Public Member Functions

 TAO_Advanced_Resource_Factory (void)
 Constructor.
virtual ~TAO_Advanced_Resource_Factory (void)
 Destructor.
virtual int init (int argc, ACE_TCHAR *argv[])
 Dynamic linking hook.
virtual
TAO_Connection_Purging_Strategy
create_purging_strategy (void)
virtual TAO_LF_Strategycreate_lf_strategy (void)
Resource Retrieval
virtual int init_protocol_factories (void)
virtual ACE_Allocatorinput_cdr_dblock_allocator (void)
virtual ACE_Allocatorinput_cdr_buffer_allocator (void)
virtual ACE_Allocatorinput_cdr_msgblock_allocator (void)
virtual ACE_Allocatoramh_response_handler_allocator (void)
virtual ACE_Allocatorami_response_handler_allocator (void)
virtual int input_cdr_allocator_type_locked (void)
virtual TAO_ProtocolFactorySetget_protocol_factories (void)
- Public Member Functions inherited from TAO_Default_Resource_Factory
 TAO_Default_Resource_Factory (void)
virtual ~TAO_Default_Resource_Factory (void)
int parse_args (int argc, ACE_TCHAR *argv[])
 TAO_Resource_Factory (void)
virtual ~TAO_Resource_Factory (void)
int get_parser_names (char **&names, int &number_of_names)
int cdr_allocator_source (void)
virtual int use_locked_data_blocks (void) const
virtual ACE_Reactorget_reactor (void)
virtual void reclaim_reactor (ACE_Reactor *)
virtual TAO_Acceptor_Registryget_acceptor_registry (void)
virtual TAO_Connector_Registryget_connector_registry (void)
virtual void use_local_memory_pool (bool)
virtual ACE_Allocatoroutput_cdr_dblock_allocator (void)
virtual ACE_Allocatoroutput_cdr_buffer_allocator (void)
virtual ACE_Allocatoroutput_cdr_msgblock_allocator (void)
virtual TAO_Codeset_Managercodeset_manager (void)
virtual int cache_maximum (void) const
virtual int purge_percentage (void) const
virtual int max_muxed_connections (void) const
virtual ACE_Lockcreate_cached_connection_lock (void)
virtual int locked_transport_cache (void)
virtual TAO_Flushing_Strategycreate_flushing_strategy (void)
TAO_Resource_Factory::Resource_Usage resource_usage_strategy (void) const
virtual auto_ptr
< TAO_GIOP_Fragmentation_Strategy
create_fragmentation_strategy (TAO_Transport *transport, CORBA::ULong max_message_size) const
virtual void disable_factory (void)
virtual bool drop_replies_during_shutdown (void) const

Protected Member Functions

virtual ACE_Reactor_Implallocate_reactor_impl (void) const
 Obtain the reactor implementation.
void report_option_value_error (const ACE_TCHAR *option_name, const ACE_TCHAR *option_value)
void report_unsupported_error (const ACE_TCHAR *option_name)
virtual int load_default_protocols (void)
- Protected Member Functions inherited from TAO_Default_Resource_Factory
TAO_Time_Policy_Managertime_policy_manager (void) const
ACE_Timer_Queuecreate_timer_queue (void) const
void destroy_timer_queue (ACE_Timer_Queue *tmq) const
int add_to_ior_parser_names (const char *)

Protected Attributes

TAO_ProtocolFactorySet protocol_factories_
 List of loaded protocol factories.
int reactor_registry_type_
 The type of reactor registry.
int reactor_type_
 Flag indicating which kind of reactor we should use.
int threadqueue_type_
Allocator_Lock_Type cdr_allocator_type_
 The type of CDR allocators.
Allocator_Lock_Type amh_response_handler_allocator_lock_type_
 Type of lock used by AMH response handler allocator.
Allocator_Lock_Type ami_response_handler_allocator_lock_type_
 Type of lock used by AMI response handler allocator.
- Protected Attributes inherited from TAO_Default_Resource_Factory
int use_locked_data_blocks_
int parser_names_count_
char ** parser_names_
int index_
TAO_Resource_Factory::Purging_Strategy connection_purging_type_
int cache_maximum_
int purge_percentage_
int max_muxed_connections_
int reactor_mask_signals_
bool dynamically_allocated_reactor_
int options_processed_
int factory_disabled_
Output_CDR_Allocator_Type output_cdr_allocator_type_
bool use_local_memory_pool_

Additional Inherited Members

- Public Attributes inherited from TAO_Default_Resource_Factory
 LOCAL_MEMORY_POOL
 DEFAULT
 TAO_NULL_LOCK
 TAO_THREAD_LOCK
 TAO_LEADER_FOLLOWER_FLUSHING
 TAO_REACTIVE_FLUSHING
 TAO_BLOCKING_FLUSHING
 LRU
 LFU
 FIFO
 NOOP
 TAO_EAGER
 TAO_LAZY
- Public Attributes inherited from TAO_Resource_Factory
- Public Attributes inherited from ACE_Service_Object
 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
- Public Attributes inherited from ACE_Event_Handler

Detailed Description

TAO's default resource factory.

Using a <{resource source specifier}> as a discriminator, the factory can return resource instances which are, e.g., global, stored in thread-specific storage, stored in shared memory, etc.


Member Enumeration Documentation

anonymous enum

Type of Reactor.

Enumerator:
TAO_REACTOR_SELECT_MT 

Use ACE_Token.

TAO_REACTOR_SELECT_ST 

Use ACE_Noop_Token.

TAO_REACTOR_WFMO 
TAO_REACTOR_MSGWFMO 
TAO_REACTOR_TP 
TAO_REACTOR_DEV_POLL 
anonymous enum

Thread queueing Strategy.

Enumerator:
TAO_THREAD_QUEUE_NOT_SET 

Not set, use LIFO.

TAO_THREAD_QUEUE_FIFO 

FIFO, first-in-first-out.

TAO_THREAD_QUEUE_LIFO 

LIFO, last-in-first-out (default).

Type of lock used for the allocators.

Enumerator:
TAO_ALLOCATOR_NULL_LOCK 
TAO_ALLOCATOR_THREAD_LOCK 

Constructor & Destructor Documentation

TAO_Advanced_Resource_Factory::TAO_Advanced_Resource_Factory ( void  )

Constructor.

TAO_Advanced_Resource_Factory::~TAO_Advanced_Resource_Factory ( void  )
virtual

Destructor.


Member Function Documentation

ACE_Reactor_Impl * TAO_Advanced_Resource_Factory::allocate_reactor_impl ( void  ) const
protectedvirtual

Obtain the reactor implementation.

Reimplemented from TAO_Default_Resource_Factory.

ACE_Allocator * TAO_Advanced_Resource_Factory::amh_response_handler_allocator ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

ACE_Allocator * TAO_Advanced_Resource_Factory::ami_response_handler_allocator ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

TAO_LF_Strategy * TAO_Advanced_Resource_Factory::create_lf_strategy ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

TAO_Connection_Purging_Strategy * TAO_Advanced_Resource_Factory::create_purging_strategy ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

TAO_ProtocolFactorySet * TAO_Advanced_Resource_Factory::get_protocol_factories ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

int TAO_Advanced_Resource_Factory::init ( int  argc,
ACE_TCHAR argv[] 
)
virtual

Dynamic linking hook.

Reimplemented from TAO_Default_Resource_Factory.

int TAO_Advanced_Resource_Factory::init_protocol_factories ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

int TAO_Advanced_Resource_Factory::input_cdr_allocator_type_locked ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

ACE_Allocator * TAO_Advanced_Resource_Factory::input_cdr_buffer_allocator ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

ACE_Allocator * TAO_Advanced_Resource_Factory::input_cdr_dblock_allocator ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

ACE_Allocator * TAO_Advanced_Resource_Factory::input_cdr_msgblock_allocator ( void  )
virtual

Reimplemented from TAO_Default_Resource_Factory.

int TAO_Advanced_Resource_Factory::load_default_protocols ( void  )
protectedvirtual

Reimplemented from TAO_Default_Resource_Factory.

void TAO_Advanced_Resource_Factory::report_option_value_error ( const ACE_TCHAR option_name,
const ACE_TCHAR option_value 
)
protected

Reimplemented from TAO_Default_Resource_Factory.

void TAO_Advanced_Resource_Factory::report_unsupported_error ( const ACE_TCHAR option_name)
protected

Member Data Documentation

Allocator_Lock_Type TAO_Advanced_Resource_Factory::amh_response_handler_allocator_lock_type_
protected

Type of lock used by AMH response handler allocator.

Allocator_Lock_Type TAO_Advanced_Resource_Factory::ami_response_handler_allocator_lock_type_
protected

Type of lock used by AMI response handler allocator.

Allocator_Lock_Type TAO_Advanced_Resource_Factory::cdr_allocator_type_
protected

The type of CDR allocators.

TAO_ProtocolFactorySet TAO_Advanced_Resource_Factory::protocol_factories_
protected

List of loaded protocol factories.

Reimplemented from TAO_Default_Resource_Factory.

int TAO_Advanced_Resource_Factory::reactor_registry_type_
protected

The type of reactor registry.

int TAO_Advanced_Resource_Factory::reactor_type_
protected

Flag indicating which kind of reactor we should use.

int TAO_Advanced_Resource_Factory::threadqueue_type_
protected

The type of queueing strategy to use for multi-threaded select reactors, TAO_REACTOR_SELECT_MT and TAO_REACTOR_TP.


The documentation for this class was generated from the following files: