TAO_Strategies  2.0.8
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
[legend]
Collaboration diagram for TAO_Advanced_Resource_Factory:
Collaboration graph
[legend]

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

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

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 [protected, virtual]

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.

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

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

Type of lock used by AMH response handler allocator.

Type of lock used by AMI response handler allocator.

The type of CDR allocators.

List of loaded protocol factories.

Reimplemented from TAO_Default_Resource_Factory.

The type of reactor registry.

Flag indicating which kind of reactor we should use.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines