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

TAO_Resource_Factory Class Reference

Factory which manufacturers resources for use by the ORB Core. More...

#include <Resource_Factory.h>

Inheritance diagram for TAO_Resource_Factory:

Inheritance graph
[legend]
Collaboration diagram for TAO_Resource_Factory:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Purging_Strategy { LRU, LFU, FIFO, NOOP }

Public Methods

 TAO_Resource_Factory (void)
virtual ~TAO_Resource_Factory (void)
virtual int use_locked_data_blocks (void) const
 Backwards compatibility, return 1 if the ORB core should use Locked_Data_Blocks. More...

virtual ACE_Reactorget_reactor (void)
 Return an <ACE_Reactor> to be utilized. More...

virtual void reclaim_reactor (ACE_Reactor *reactor)
 Reclaim reactor resources (e.g. deallocate, etc). More...

virtual TAO_Acceptor_Registryget_acceptor_registry (void)
 Return a reference to the acceptor registry. More...

virtual TAO_Connector_Registryget_connector_registry (void)
 Return an Connector to be utilized. More...

virtual ACE_Allocatorinput_cdr_dblock_allocator (void)
 Access the input CDR allocators. More...

virtual ACE_Allocatorinput_cdr_buffer_allocator (void)
virtual ACE_Allocatorinput_cdr_msgblock_allocator (void)
virtual int input_cdr_allocator_type_locked (void)
virtual ACE_Allocatoroutput_cdr_dblock_allocator (void)
 Access the output CDR allocators. More...

virtual ACE_Allocatoroutput_cdr_buffer_allocator (void)
virtual ACE_Allocatoroutput_cdr_msgblock_allocator (void)
virtual TAO_ProtocolFactorySetget_protocol_factories (void)
virtual TAO_Codeset_Managerget_codeset_manager (void)
virtual int init_protocol_factories (void)
virtual int cache_maximum (void) const
 This denotes the maximum number of connections that can be cached. More...

virtual int purge_percentage (void) const
 This denotes the amount of entries to remove from the connection cache. More...

virtual int max_muxed_connections (void) const
 Return the number of muxed connections that are allowed for a remote endpoint. More...

virtual int get_parser_names (char **&names, int &number_of_names)
virtual ACE_Lockcreate_cached_connection_lock (void)
 Creates the lock for the lock needed in the Cache Map @todo: This method needs to go away as it doesnt make much sense now. More...

virtual int locked_transport_cache (void)
 Should the transport cache have a lock or not? Return 1 if the transport cache needs to be locked else return 0. More...

virtual TAO_Flushing_Strategycreate_flushing_strategy (void)=0
 Creates the flushing strategy. The new instance is owned by the caller. More...

virtual TAO_Connection_Purging_Strategycreate_purging_strategy (void)=0
 Creates the connection purging strategy. More...

virtual TAO_LF_Strategycreate_lf_strategy (void)=0
 Creates the leader followers strategy. The new instance is owned by the caller. More...

virtual void disable_factory (void)=0
 Disables the factory. When a new factory is installed and used, this function should be called on the previously used (default) factory. This should result in proper error reporting if the user attempts to set options on an unused factory. More...


Protected Methods

virtual int load_default_protocols (void)

Detailed Description

Factory which manufacturers resources for use by the ORB Core.

This class is a factory/repository for critical ORB Core resources.

Definition at line 100 of file Resource_Factory.h.


Member Enumeration Documentation

enum TAO_Resource_Factory::Purging_Strategy
 

Enumeration values:
LRU 
LFU 
FIFO 
NOOP 

Definition at line 104 of file Resource_Factory.h.

00105   {
00106     // Least Recently Used
00107     LRU,
00108 
00109     // Least Frequently Used
00110     LFU,
00111 
00112     // First In First Out
00113     FIFO,
00114 
00115     // Dont use any strategy.
00116     NOOP
00117   };


Constructor & Destructor Documentation

TAO_Resource_Factory::TAO_Resource_Factory void   
 

Definition at line 53 of file Resource_Factory.cpp.

00054 {
00055 }

TAO_Resource_Factory::~TAO_Resource_Factory void    [virtual]
 

Definition at line 57 of file Resource_Factory.cpp.

00058 {
00059 }


Member Function Documentation

int TAO_Resource_Factory::cache_maximum void    const [virtual]
 

This denotes the maximum number of connections that can be cached.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 161 of file Resource_Factory.cpp.

References TAO_CONNECTION_CACHE_MAXIMUM.

00162 {
00163   return TAO_CONNECTION_CACHE_MAXIMUM;
00164 }

ACE_Lock * TAO_Resource_Factory::create_cached_connection_lock void    [virtual]
 

Creates the lock for the lock needed in the Cache Map @todo: This method needs to go away as it doesnt make much sense now.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 187 of file Resource_Factory.cpp.

Referenced by TAO_Connection_Handler::TAO_Connection_Handler, and TAO_Transport::TAO_Transport.

00188 {
00189   return 0;
00190 }

virtual TAO_Flushing_Strategy* TAO_Resource_Factory::create_flushing_strategy void    [pure virtual]
 

Creates the flushing strategy. The new instance is owned by the caller.

Implemented in TAO_Default_Resource_Factory.

virtual TAO_LF_Strategy* TAO_Resource_Factory::create_lf_strategy void    [pure virtual]
 

Creates the leader followers strategy. The new instance is owned by the caller.

Implemented in TAO_Default_Resource_Factory.

Referenced by TAO_Thread_Lane_Resources_Manager::TAO_Thread_Lane_Resources_Manager.

virtual TAO_Connection_Purging_Strategy* TAO_Resource_Factory::create_purging_strategy void    [pure virtual]
 

Creates the connection purging strategy.

Implemented in TAO_Default_Resource_Factory.

virtual void TAO_Resource_Factory::disable_factory void    [pure virtual]
 

Disables the factory. When a new factory is installed and used, this function should be called on the previously used (default) factory. This should result in proper error reporting if the user attempts to set options on an unused factory.

Implemented in TAO_Default_Resource_Factory.

TAO_Acceptor_Registry * TAO_Resource_Factory::get_acceptor_registry void    [virtual]
 

Return a reference to the acceptor registry.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 95 of file Resource_Factory.cpp.

Referenced by TAO_Thread_Lane_Resources::acceptor_registry.

00096 {
00097   return 0;
00098 }

TAO_Codeset_Manager * TAO_Resource_Factory::get_codeset_manager void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 149 of file Resource_Factory.cpp.

00150 {
00151   return 0;
00152 }

TAO_Connector_Registry * TAO_Resource_Factory::get_connector_registry void    [virtual]
 

Return an Connector to be utilized.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 89 of file Resource_Factory.cpp.

Referenced by TAO_Thread_Lane_Resources::connector_registry.

00090 {
00091   return 0;
00092 }

int TAO_Resource_Factory::get_parser_names char **&    names,
int &    number_of_names
[virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 180 of file Resource_Factory.cpp.

Referenced by TAO_Parser_Registry::open.

00182 {
00183   return 0;
00184 }

TAO_ProtocolFactorySet * TAO_Resource_Factory::get_protocol_factories void    [virtual]
 

The protocol factory list is implemented in this class since a) it will be a global resource and b) it is initialized at start up and then not altered. Returns a container holding the list of loaded protocols.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 143 of file Resource_Factory.cpp.

00144 {
00145   return 0;
00146 }

ACE_Reactor * TAO_Resource_Factory::get_reactor void    [virtual]
 

Return an <ACE_Reactor> to be utilized.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 77 of file Resource_Factory.cpp.

Referenced by TAO_Leader_Follower::reactor.

00078 {
00079   return 0;
00080 }

int TAO_Resource_Factory::init_protocol_factories void    [virtual]
 

this method will loop through the protocol list and using the protocol name field this method will retrieve a pointer to the associated protocol factory from the service configurator. It is assumed that only one thread will call this method at ORB initialization. NON-THREAD-SAFE

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 155 of file Resource_Factory.cpp.

00156 {
00157   return -1;
00158 }

int TAO_Resource_Factory::input_cdr_allocator_type_locked void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 119 of file Resource_Factory.cpp.

00120 {
00121   return -1;
00122 }

ACE_Allocator * TAO_Resource_Factory::input_cdr_buffer_allocator void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 107 of file Resource_Factory.cpp.

Referenced by TAO_Thread_Lane_Resources::input_cdr_buffer_allocator.

00108 {
00109   return 0;
00110 }

ACE_Allocator * TAO_Resource_Factory::input_cdr_dblock_allocator void    [virtual]
 

Access the input CDR allocators.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 101 of file Resource_Factory.cpp.

Referenced by TAO_Thread_Lane_Resources::input_cdr_dblock_allocator, and TAO_Thread_Lane_Resources::transport_message_buffer_allocator.

00102 {
00103   return 0;
00104 }

ACE_Allocator * TAO_Resource_Factory::input_cdr_msgblock_allocator void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 113 of file Resource_Factory.cpp.

Referenced by TAO_Thread_Lane_Resources::input_cdr_msgblock_allocator.

00114 {
00115   return 0;
00116 }

int TAO_Resource_Factory::load_default_protocols void    [protected, virtual]
 

Loads the default protocols. This method is used so that the advanced_resource.cpp can call the one in default_resource.cpp without calling unnecessary functions.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 200 of file Resource_Factory.cpp.

00201 {
00202   return 0;
00203 }

int TAO_Resource_Factory::locked_transport_cache void    [virtual]
 

Should the transport cache have a lock or not? Return 1 if the transport cache needs to be locked else return 0.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 193 of file Resource_Factory.cpp.

00194 {
00195   return 0;
00196 }

int TAO_Resource_Factory::max_muxed_connections void    const [virtual]
 

Return the number of muxed connections that are allowed for a remote endpoint.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 173 of file Resource_Factory.cpp.

00174 {
00175   return 0;
00176 }

ACE_Allocator * TAO_Resource_Factory::output_cdr_buffer_allocator void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 131 of file Resource_Factory.cpp.

Referenced by TAO_ORB_Core::output_cdr_buffer_allocator.

00132 {
00133   return 0;
00134 }

ACE_Allocator * TAO_Resource_Factory::output_cdr_dblock_allocator void    [virtual]
 

Access the output CDR allocators.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 125 of file Resource_Factory.cpp.

Referenced by TAO_ORB_Core::output_cdr_dblock_allocator.

00126 {
00127   return 0;
00128 }

ACE_Allocator * TAO_Resource_Factory::output_cdr_msgblock_allocator void    [virtual]
 

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 137 of file Resource_Factory.cpp.

Referenced by TAO_ORB_Core::output_cdr_msgblock_allocator.

00138 {
00139   return 0;
00140 }

int TAO_Resource_Factory::purge_percentage void    const [virtual]
 

This denotes the amount of entries to remove from the connection cache.

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 167 of file Resource_Factory.cpp.

00168 {
00169   return 0;
00170 }

void TAO_Resource_Factory::reclaim_reactor ACE_Reactor   reactor [virtual]
 

Reclaim reactor resources (e.g. deallocate, etc).

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 83 of file Resource_Factory.cpp.

Referenced by TAO_Leader_Follower::~TAO_Leader_Follower.

00084 {
00085   return;
00086 }

int TAO_Resource_Factory::use_locked_data_blocks void    const [virtual]
 

Backwards compatibility, return 1 if the ORB core should use Locked_Data_Blocks.

@

Reimplemented in TAO_Default_Resource_Factory.

Definition at line 71 of file Resource_Factory.cpp.

Referenced by TAO_ORB_Core::create_input_cdr_data_block, and TAO_ORB_Core::locking_strategy.

00072 {
00073   return 0;
00074 }


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:38:34 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002