TAO 2.0.4
|
TAO's default resource factory. More...
#include <default_resource.h>
Public Member Functions | |
TAO_Default_Resource_Factory (void) | |
Constructor. | |
virtual | ~TAO_Default_Resource_Factory (void) |
Destructor. | |
Service Configurator Hooks | |
virtual int | init (int argc, ACE_TCHAR *argv[]) |
Dynamic linking hook. | |
int | parse_args (int argc, ACE_TCHAR *argv[]) |
Parse svc.conf arguments. | |
Protected Types | |
enum | Output_CDR_Allocator_Type { LOCAL_MEMORY_POOL, DEFAULT } |
Protected Member Functions | |
virtual ACE_Reactor_Impl * | allocate_reactor_impl (void) const |
Obtain the reactor implementation. | |
int | add_to_ior_parser_names (const char *) |
Add a Parser name to the list of Parser names. | |
void | report_option_value_error (const ACE_TCHAR *option_name, const ACE_TCHAR *option_value) |
virtual int | load_default_protocols (void) |
Protected Attributes | |
int | use_locked_data_blocks_ |
The type of data blocks that the ORB should use. | |
int | parser_names_count_ |
The number of the different types of Parsers. | |
char ** | parser_names_ |
Array consisting of the names of the parsers. | |
int | index_ |
Index of the current element in the parser_names_ array. | |
TAO_ProtocolFactorySet | protocol_factories_ |
list of loaded protocol factories. | |
TAO_Resource_Factory::Purging_Strategy | connection_purging_type_ |
int | cache_maximum_ |
int | purge_percentage_ |
int | max_muxed_connections_ |
int | reactor_mask_signals_ |
If 0 then we create reactors with signal handling disabled. | |
bool | dynamically_allocated_reactor_ |
int | options_processed_ |
int | factory_disabled_ |
Output_CDR_Allocator_Type | output_cdr_allocator_type_ |
Type of allocator to use for output CDR buffers. | |
bool | use_local_memory_pool_ |
Private Types | |
enum | Lock_Type { TAO_NULL_LOCK, TAO_THREAD_LOCK } |
enum | Flushing_Strategy_Type { TAO_LEADER_FOLLOWER_FLUSHING, TAO_REACTIVE_FLUSHING, TAO_BLOCKING_FLUSHING } |
Private Attributes | |
Lock_Type | cached_connection_lock_type_ |
Type of lock used by the cached connector. | |
Flushing_Strategy_Type | flushing_strategy_type_ |
Type of flushing strategy configured. | |
TAO_Codeset_Parameters | char_codeset_parameters_ |
TAO_Codeset_Parameters | wchar_codeset_parameters_ |
Resource_Usage | resource_usage_strategy_ |
Resource usage strategy. | |
bool | drop_replies_ |
Member Accessors | |
enum | { TAO_ALLOCATOR_THREAD_LOCK } |
Modify and get the source for the CDR allocators. More... | |
int | get_parser_names (char **&names, int &number_of_names) |
Modify and get the source for the CDR allocators. | |
int | cdr_allocator_source (void) |
Modify and get the source for the CDR allocators. | |
virtual int | use_locked_data_blocks (void) const |
Modify and get the source for the CDR allocators. | |
virtual ACE_Reactor * | get_reactor (void) |
Modify and get the source for the CDR allocators. | |
virtual void | reclaim_reactor (ACE_Reactor *) |
Modify and get the source for the CDR allocators. | |
virtual TAO_Acceptor_Registry * | get_acceptor_registry (void) |
Modify and get the source for the CDR allocators. | |
virtual TAO_Connector_Registry * | get_connector_registry (void) |
Modify and get the source for the CDR allocators. | |
virtual void | use_local_memory_pool (bool) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | input_cdr_dblock_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | input_cdr_buffer_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | input_cdr_msgblock_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual int | input_cdr_allocator_type_locked (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | output_cdr_dblock_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | output_cdr_buffer_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | output_cdr_msgblock_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | amh_response_handler_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual ACE_Allocator * | ami_response_handler_allocator (void) |
Modify and get the source for the CDR allocators. | |
virtual TAO_ProtocolFactorySet * | get_protocol_factories (void) |
Modify and get the source for the CDR allocators. | |
virtual int | init_protocol_factories (void) |
Modify and get the source for the CDR allocators. | |
virtual TAO_Codeset_Manager * | codeset_manager (void) |
Modify and get the source for the CDR allocators. | |
virtual int | cache_maximum (void) const |
Modify and get the source for the CDR allocators. | |
virtual int | purge_percentage (void) const |
Modify and get the source for the CDR allocators. | |
virtual int | max_muxed_connections (void) const |
Modify and get the source for the CDR allocators. | |
virtual ACE_Lock * | create_cached_connection_lock (void) |
Modify and get the source for the CDR allocators. | |
virtual int | locked_transport_cache (void) |
Modify and get the source for the CDR allocators. | |
virtual TAO_Flushing_Strategy * | create_flushing_strategy (void) |
Modify and get the source for the CDR allocators. | |
virtual TAO_Connection_Purging_Strategy * | create_purging_strategy (void) |
Modify and get the source for the CDR allocators. | |
TAO_Resource_Factory::Resource_Usage | resource_usage_strategy (void) const |
Modify and get the source for the CDR allocators. | |
virtual TAO_LF_Strategy * | create_lf_strategy (void) |
Modify and get the source for the CDR allocators. | |
virtual auto_ptr < TAO_GIOP_Fragmentation_Strategy > | create_fragmentation_strategy (TAO_Transport *transport, CORBA::ULong max_message_size) const |
Modify and get the source for the CDR allocators. | |
virtual void | disable_factory (void) |
Modify and get the source for the CDR allocators. | |
virtual bool | drop_replies_during_shutdown (void) const |
Modify and get the source for the CDR allocators. |
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.
anonymous enum |
enum TAO_Default_Resource_Factory::Flushing_Strategy_Type [private] |
enum TAO_Default_Resource_Factory::Lock_Type [private] |
enum TAO_Default_Resource_Factory::Output_CDR_Allocator_Type [protected] |
TAO_Default_Resource_Factory::TAO_Default_Resource_Factory | ( | void | ) |
Constructor.
TAO_Default_Resource_Factory::~TAO_Default_Resource_Factory | ( | void | ) | [virtual] |
Destructor.
int TAO_Default_Resource_Factory::add_to_ior_parser_names | ( | const char * | curarg | ) | [protected] |
Add a Parser name to the list of Parser names.
ACE_Reactor_Impl * TAO_Default_Resource_Factory::allocate_reactor_impl | ( | void | ) | const [protected, virtual] |
Obtain the reactor implementation.
ACE_Allocator * TAO_Default_Resource_Factory::amh_response_handler_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::ami_response_handler_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::cache_maximum | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::cdr_allocator_source | ( | void | ) |
Modify and get the source for the CDR allocators.
TAO_Codeset_Manager * TAO_Default_Resource_Factory::codeset_manager | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Lock * TAO_Default_Resource_Factory::create_cached_connection_lock | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
TAO_Flushing_Strategy * TAO_Default_Resource_Factory::create_flushing_strategy | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
auto_ptr< TAO_GIOP_Fragmentation_Strategy > TAO_Default_Resource_Factory::create_fragmentation_strategy | ( | TAO_Transport * | transport, |
CORBA::ULong | max_message_size | ||
) | const [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
TAO_LF_Strategy * TAO_Default_Resource_Factory::create_lf_strategy | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
TAO_Connection_Purging_Strategy * TAO_Default_Resource_Factory::create_purging_strategy | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
void TAO_Default_Resource_Factory::disable_factory | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
bool TAO_Default_Resource_Factory::drop_replies_during_shutdown | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
TAO_Acceptor_Registry * TAO_Default_Resource_Factory::get_acceptor_registry | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
TAO_Connector_Registry * TAO_Default_Resource_Factory::get_connector_registry | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::get_parser_names | ( | char **& | names, |
int & | number_of_names | ||
) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
TAO_ProtocolFactorySet * TAO_Default_Resource_Factory::get_protocol_factories | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Reactor * TAO_Default_Resource_Factory::get_reactor | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::init | ( | int | argc, |
ACE_TCHAR * | argv[] | ||
) | [virtual] |
int TAO_Default_Resource_Factory::init_protocol_factories | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::input_cdr_allocator_type_locked | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::input_cdr_buffer_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::input_cdr_dblock_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::input_cdr_msgblock_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_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 from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::locked_transport_cache | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::max_muxed_connections | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::output_cdr_buffer_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::output_cdr_dblock_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
ACE_Allocator * TAO_Default_Resource_Factory::output_cdr_msgblock_allocator | ( | void | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::parse_args | ( | int | argc, |
ACE_TCHAR * | argv[] | ||
) |
Parse svc.conf arguments.
int TAO_Default_Resource_Factory::purge_percentage | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
void TAO_Default_Resource_Factory::reclaim_reactor | ( | ACE_Reactor * | reactor | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
void TAO_Default_Resource_Factory::report_option_value_error | ( | const ACE_TCHAR * | option_name, |
const ACE_TCHAR * | option_value | ||
) | [protected] |
TAO_Resource_Factory::Resource_Usage TAO_Default_Resource_Factory::resource_usage_strategy | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Implements TAO_Resource_Factory.
void TAO_Default_Resource_Factory::use_local_memory_pool | ( | bool | flag | ) | [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::use_locked_data_blocks | ( | void | ) | const [virtual] |
Modify and get the source for the CDR allocators.
Reimplemented from TAO_Resource_Factory.
int TAO_Default_Resource_Factory::cache_maximum_ [protected] |
Specifies the maximum number of connections which should get cached in the ORB.
Type of lock used by the cached connector.
Initialization options. To be used later when creating a codeset manager instance (s)
TAO_Resource_Factory::Purging_Strategy TAO_Default_Resource_Factory::connection_purging_type_ [protected] |
Specifies the typeof purging strategy we should use for cleaning up unused connections
bool TAO_Default_Resource_Factory::drop_replies_ [private] |
Flag to indicate whether replies should be dropped during ORB shutdown.
bool TAO_Default_Resource_Factory::dynamically_allocated_reactor_ [protected] |
Flag that is set to true if the reactor obtained from the get_reactor() method is dynamically allocated. If this flag is set to true, then the reclaim_reactor() method with call the delete operator on the given reactor. This flag is necessary to make sure that a reactor not allocated by the default resource factory is not reclaimed by the default resource factory. Such a situation can occur when a resource factory derived from the default one overrides the get_reactor() method but does not override the reclaim_reactor() method.
int TAO_Default_Resource_Factory::factory_disabled_ [protected] |
This flag specifies whether the factory has been disabled. If it has been disabled we should print warnings if options were processed before (or later).
Type of flushing strategy configured.
int TAO_Default_Resource_Factory::index_ [protected] |
Index of the current element in the parser_names_ array.
int TAO_Default_Resource_Factory::max_muxed_connections_ [protected] |
Specifies the limit on the number of muxed connections allowed per-property for the ORB. A value of 0 indicates no limit
int TAO_Default_Resource_Factory::options_processed_ [protected] |
This flag is used to determine whether options have been processed via the init() function. It is necessary to properly report errors when the default factory is replaced.
Type of allocator to use for output CDR buffers.
char** TAO_Default_Resource_Factory::parser_names_ [protected] |
Array consisting of the names of the parsers.
int TAO_Default_Resource_Factory::parser_names_count_ [protected] |
The number of the different types of Parsers.
list of loaded protocol factories.
int TAO_Default_Resource_Factory::purge_percentage_ [protected] |
Specifies the percentage of entries which should get purged on demand.
int TAO_Default_Resource_Factory::reactor_mask_signals_ [protected] |
If 0 then we create reactors with signal handling disabled.
Resource usage strategy.
bool TAO_Default_Resource_Factory::use_local_memory_pool_ [protected] |
This flag is used to determine whether the CDR allocators should use the local memory pool or not.
int TAO_Default_Resource_Factory::use_locked_data_blocks_ [protected] |
The type of data blocks that the ORB should use.