Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

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  { TAO_ALLOCATOR_NULL_LOCK, TAO_ALLOCATOR_THREAD_LOCK }
enum  {
  TAO_REACTOR_SELECT_MT, TAO_REACTOR_SELECT_ST, TAO_REACTOR_FL, TAO_REACTOR_TK,
  TAO_REACTOR_WFMO, TAO_REACTOR_MSGWFMO, TAO_REACTOR_TP
}
 Type of Reactor. More...

enum  { TAO_THREAD_QUEUE_NOT_SET, TAO_THREAD_QUEUE_FIFO, TAO_THREAD_QUEUE_LIFO }
 Thread queueing Strategy. More...


Public Methods

 TAO_Advanced_Resource_Factory (void)
 Constructor. More...

virtual ~TAO_Advanced_Resource_Factory (void)
 Destructor. More...

virtual int init (int argc, ACE_TCHAR *argv[])
 Dynamic linking hook. More...

virtual TAO_Connection_Purging_Strategycreate_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 int input_cdr_allocator_type_locked (void)
virtual TAO_ProtocolFactorySetget_protocol_factories (void)

Protected Methods

virtual ACE_Reactor_Implallocate_reactor_impl (void) const
 Obtain the reactor implementation. More...

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

int reactor_registry_type_
 The type of reactor registry. More...

int reactor_type_
 Flag indicating which kind of reactor we should use. More...

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

int cdr_allocator_type_
 The type of CDR allocators. More...


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
 

Enumeration values:
TAO_ALLOCATOR_NULL_LOCK 
TAO_ALLOCATOR_THREAD_LOCK 

anonymous enum
 

Type of Reactor.

Enumeration values:
TAO_REACTOR_SELECT_MT  Use ACE_Token.
TAO_REACTOR_SELECT_ST  Use ACE_Noop_Token.
TAO_REACTOR_FL 
TAO_REACTOR_TK 
TAO_REACTOR_WFMO 
TAO_REACTOR_MSGWFMO 
TAO_REACTOR_TP 

anonymous enum
 

Thread queueing Strategy.

Enumeration values:
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).


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.

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

int 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:
Generated on Thu Oct 10 21:39:00 2002 for TAO_Strategies by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001