#include <Resource_Factory.h>
Inheritance diagram for TAO_Resource_Factory:
Public Types | |
LRU | |
Least Recently Used. | |
LFU | |
Least Frequently Used. | |
FIFO | |
First In First Out. | |
NOOP | |
Dont use any strategy. | |
TAO_EAGER | |
Use resources in an eager fashion. | |
TAO_LAZY | |
Use resources in a lazy manner. | |
enum | Purging_Strategy { LRU, LFU, FIFO, NOOP } |
enum | Resource_Usage { TAO_EAGER, TAO_LAZY } |
Public Member Functions | |
TAO_Resource_Factory (void) | |
virtual | ~TAO_Resource_Factory (void) |
virtual int | use_locked_data_blocks (void) const |
virtual ACE_Reactor * | get_reactor (void) |
Return an ACE_Reactor to be utilized. | |
virtual void | reclaim_reactor (ACE_Reactor *reactor) |
Reclaim reactor resources (e.g. deallocate, etc). | |
virtual TAO_Acceptor_Registry * | get_acceptor_registry (void) |
Return a reference to the acceptor registry. | |
virtual TAO_Connector_Registry * | get_connector_registry (void) |
Return a connector to be utilized. | |
virtual void | use_local_memory_pool (bool) |
Return the Allocator's memory pool type. | |
virtual int | input_cdr_allocator_type_locked (void) |
virtual ACE_Allocator * | amh_response_handler_allocator (void) |
Access the AMH response handler allocator. | |
virtual ACE_Allocator * | ami_response_handler_allocator (void) |
Access the AMI response handler allocator. | |
virtual TAO_ProtocolFactorySet * | get_protocol_factories (void) |
virtual int | init_protocol_factories (void) |
virtual TAO_Codeset_Manager * | codeset_manager (void) |
Gets the codeset manager. | |
virtual int | cache_maximum (void) const |
This denotes the maximum number of connections that can be cached. | |
virtual int | purge_percentage (void) const |
virtual int | max_muxed_connections (void) const |
virtual int | get_parser_names (char **&names, int &number_of_names) |
virtual ACE_Lock * | create_cached_connection_lock (void) |
virtual int | locked_transport_cache (void) |
virtual ACE_Lock * | create_object_key_table_lock (void) |
Creates a lock needed for the table that stores the object keys. | |
virtual ACE_Lock * | create_corba_object_lock (void) |
Creates the lock for the CORBA Object. | |
virtual TAO_Configurable_Refcount | create_corba_object_refcount (void) |
Creates the configurable refcount for the CORBA Object. | |
virtual TAO_Flushing_Strategy * | create_flushing_strategy (void)=0 |
virtual TAO_Connection_Purging_Strategy * | create_purging_strategy (void)=0 |
Creates the connection purging strategy. | |
virtual TAO_LF_Strategy * | create_lf_strategy (void)=0 |
virtual auto_ptr< TAO_GIOP_Fragmentation_Strategy > | create_fragmentation_strategy (TAO_Transport *transport, CORBA::ULong max_message_size) const =0 |
Outgoing fragment creation strategy. | |
virtual void | disable_factory (void)=0 |
virtual TAO_Resource_Factory::Resource_Usage | resource_usage_strategy (void) const =0 |
Return the resource usage strategy. | |
virtual bool | drop_replies_during_shutdown () const =0 |
Access the input CDR allocators. | |
virtual ACE_Allocator * | input_cdr_dblock_allocator (void) |
virtual ACE_Allocator * | input_cdr_buffer_allocator (void) |
virtual ACE_Allocator * | input_cdr_msgblock_allocator (void) |
Access the output CDR allocators. | |
virtual ACE_Allocator * | output_cdr_dblock_allocator (void) |
virtual ACE_Allocator * | output_cdr_buffer_allocator (void) |
virtual ACE_Allocator * | output_cdr_msgblock_allocator (void) |
Protected Member Functions | |
virtual int | load_default_protocols (void) |
This class is a factory/repository for critical ORB Core resources.
Definition at line 110 of file Resource_Factory.h.
LRU | Least Recently Used. |
LFU | Least Frequently Used. |
FIFO | First In First Out. |
NOOP | Dont use any strategy. |
Definition at line 114 of file Resource_Factory.h.
00115 { 00116 /// Least Recently Used 00117 LRU, 00118 00119 /// Least Frequently Used 00120 LFU, 00121 00122 /// First In First Out 00123 FIFO, 00124 00125 /// Dont use any strategy. 00126 NOOP 00127 };
Definition at line 129 of file Resource_Factory.h.
00130 { 00131 /// Use resources in an eager fashion 00132 TAO_EAGER, 00133 00134 /// Use resources in a lazy manner 00135 TAO_LAZY 00136 };
TAO_Resource_Factory::TAO_Resource_Factory | ( | void | ) |
TAO_Resource_Factory::~TAO_Resource_Factory | ( | void | ) | [virtual] |
ACE_Allocator * TAO_Resource_Factory::amh_response_handler_allocator | ( | void | ) | [virtual] |
Access the AMH response handler allocator.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 141 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::amh_response_handler_allocator().
ACE_Allocator * TAO_Resource_Factory::ami_response_handler_allocator | ( | void | ) | [virtual] |
Access the AMI response handler allocator.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 147 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::ami_response_handler_allocator().
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 171 of file Resource_Factory.cpp.
References TAO_CONNECTION_CACHE_MAXIMUM.
00172 { 00173 return TAO_CONNECTION_CACHE_MAXIMUM; 00174 }
TAO_Codeset_Manager * TAO_Resource_Factory::codeset_manager | ( | void | ) | [virtual] |
Gets the codeset manager.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 165 of file Resource_Factory.cpp.
Referenced by TAO_ORB_Core::codeset_manager().
ACE_Lock * TAO_Resource_Factory::create_cached_connection_lock | ( | void | ) | [virtual] |
Creates the lock for the lock needed in the Cache Map
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 196 of file Resource_Factory.cpp.
ACE_Lock * TAO_Resource_Factory::create_corba_object_lock | ( | void | ) | [virtual] |
Creates the lock for the CORBA Object.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 214 of file Resource_Factory.cpp.
Referenced by CORBA::Object::Object().
TAO_Configurable_Refcount TAO_Resource_Factory::create_corba_object_refcount | ( | void | ) | [virtual] |
Creates the configurable refcount for the CORBA Object.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 220 of file Resource_Factory.cpp.
References TAO_Configurable_Refcount::TAO_NULL_LOCK.
Referenced by CORBA::Object::Object().
00221 { 00222 return TAO_Configurable_Refcount ( 00223 TAO_Configurable_Refcount::TAO_NULL_LOCK); 00224 }
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.
Referenced by TAO_ORB_Core::init().
virtual auto_ptr<TAO_GIOP_Fragmentation_Strategy> TAO_Resource_Factory::create_fragmentation_strategy | ( | TAO_Transport * | transport, | |
CORBA::ULong | max_message_size | |||
) | const [pure virtual] |
Outgoing fragment creation strategy.
Implemented in TAO_Default_Resource_Factory.
Referenced by TAO_ORB_Core::fragmentation_strategy().
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.
ACE_Lock * TAO_Resource_Factory::create_object_key_table_lock | ( | void | ) | [virtual] |
Creates a lock needed for the table that stores the object keys.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 208 of file Resource_Factory.cpp.
Referenced by TAO::ObjectKey_Table::init().
virtual TAO_Connection_Purging_Strategy* TAO_Resource_Factory::create_purging_strategy | ( | void | ) | [pure virtual] |
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.
virtual bool TAO_Resource_Factory::drop_replies_during_shutdown | ( | ) | const [pure virtual] |
Return the value of the strategy that indicates whether the ORB should wait for the replies during shutdown or drop replies during shutdown.
Implemented in TAO_Default_Resource_Factory.
Referenced by TAO_Leader_Follower::set_client_thread().
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 88 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::acceptor_registry().
TAO_Connector_Registry * TAO_Resource_Factory::get_connector_registry | ( | void | ) | [virtual] |
Return a connector to be utilized.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 82 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::connector_registry().
int TAO_Resource_Factory::get_parser_names | ( | char **& | names, | |
int & | number_of_names | |||
) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 190 of file Resource_Factory.cpp.
Referenced by TAO_Parser_Registry::open().
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 153 of file Resource_Factory.cpp.
Referenced by TAO_ORB_Core::init().
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 70 of file Resource_Factory.cpp.
Referenced by TAO_Leader_Follower::reactor().
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 159 of file Resource_Factory.cpp.
Referenced by TAO_ORB_Core::init().
int TAO_Resource_Factory::input_cdr_allocator_type_locked | ( | void | ) | [virtual] |
ACE_Allocator * TAO_Resource_Factory::input_cdr_buffer_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 105 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::input_cdr_buffer_allocator().
ACE_Allocator * TAO_Resource_Factory::input_cdr_dblock_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 99 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::input_cdr_dblock_allocator(), and TAO_Thread_Lane_Resources::transport_message_buffer_allocator().
ACE_Allocator * TAO_Resource_Factory::input_cdr_msgblock_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 111 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::input_cdr_msgblock_allocator().
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 227 of file Resource_Factory.cpp.
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 202 of file Resource_Factory.cpp.
Referenced by TAO::Transport_Cache_Manager::Transport_Cache_Manager().
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 183 of file Resource_Factory.cpp.
ACE_Allocator * TAO_Resource_Factory::output_cdr_buffer_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 129 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::output_cdr_buffer_allocator().
ACE_Allocator * TAO_Resource_Factory::output_cdr_dblock_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 123 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::output_cdr_dblock_allocator().
ACE_Allocator * TAO_Resource_Factory::output_cdr_msgblock_allocator | ( | void | ) | [virtual] |
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 135 of file Resource_Factory.cpp.
Referenced by TAO_Thread_Lane_Resources::output_cdr_msgblock_allocator().
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 177 of file Resource_Factory.cpp.
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 76 of file Resource_Factory.cpp.
virtual TAO_Resource_Factory::Resource_Usage TAO_Resource_Factory::resource_usage_strategy | ( | void | ) | const [pure virtual] |
Return the resource usage strategy.
Implemented in TAO_Default_Resource_Factory.
Referenced by operator>>().
void TAO_Resource_Factory::use_local_memory_pool | ( | bool | ) | [virtual] |
Return the Allocator's memory pool type.
Reimplemented in TAO_Default_Resource_Factory.
Definition at line 94 of file Resource_Factory.cpp.
Referenced by TAO_ORB_Core::init().
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 64 of file Resource_Factory.cpp.