diff options
Diffstat (limited to 'TAO/tao/default_resource.cpp')
-rw-r--r-- | TAO/tao/default_resource.cpp | 156 |
1 files changed, 39 insertions, 117 deletions
diff --git a/TAO/tao/default_resource.cpp b/TAO/tao/default_resource.cpp index 81773712f28..15800d30e9e 100644 --- a/TAO/tao/default_resource.cpp +++ b/TAO/tao/default_resource.cpp @@ -8,17 +8,12 @@ #include "tao/Acceptor_Registry.h" #include "tao/Connector_Registry.h" -#include "tao/Single_Reactor.h" #include "tao/Reactive_Flushing_Strategy.h" #include "tao/Block_Flushing_Strategy.h" -#include "tao/Leader_Follower_Flushing_Strategy.h" - #include "tao/Leader_Follower.h" #include "tao/LRU_Connection_Purging_Strategy.h" -#include "tao/LF_Strategy_Complete.h" - #include "ace/TP_Reactor.h" #include "ace/Dynamic_Service.h" #include "ace/Arg_Shifter.h" @@ -28,9 +23,9 @@ # include "tao/default_resource.i" #endif /* ! __ACE_INLINE__ */ -ACE_RCSID (tao, - default_resource, - "$Id$") +ACE_RCSID(tao, default_resource, "$Id$") + + TAO_Default_Resource_Factory::TAO_Default_Resource_Factory (void) : use_tss_resources_ (0), @@ -43,10 +38,8 @@ TAO_Default_Resource_Factory::TAO_Default_Resource_Factory (void) purge_percentage_ (TAO_PURGE_PERCENT), reactor_mask_signals_ (1), dynamically_allocated_reactor_ (0), - options_processed_ (0), - factory_disabled_ (0), cached_connection_lock_type_ (TAO_THREAD_LOCK), - flushing_strategy_type_ (TAO_LEADER_FOLLOWER_FLUSHING) + flushing_strategy_type_ (TAO_REACTIVE_FLUSHING) { } @@ -67,25 +60,14 @@ TAO_Default_Resource_Factory::~TAO_Default_Resource_Factory (void) ++i) CORBA::string_free (this->parser_names_[i]); - delete [] this->parser_names_; + delete []this->parser_names_; } int -TAO_Default_Resource_Factory::init (int argc, char *argv[]) +TAO_Default_Resource_Factory::init (int argc, char **argv) { ACE_TRACE ("TAO_Default_Resource_Factory::init"); - // If this factory has already been disabled then - // print a warning and exit because any options - // are useless - if (this->factory_disabled_) { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) Warning: Resource_Factory options ignored\n") - ACE_TEXT ("Default Resource Factory is disabled\n"))); - return 0; - } - this->options_processed_ = 1; - this->parser_names_count_ = 0; int curarg = 0; @@ -102,9 +84,8 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) if (curarg == (argc-1) && this->parser_names_count_ != 0) { // This is the last loop.. - ACE_NEW_RETURN (this->parser_names_, - char *[this->parser_names_count_], - -1); + this->parser_names_ = + new char *[this->parser_names_count_]; for (int i = 0; i < this->parser_names_count_; @@ -131,8 +112,6 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) else if (ACE_OS::strcasecmp (name, "tss") == 0) this->use_tss_resources_ = 1; - else - this->report_option_value_error ("-ORBResources", name); } } @@ -148,8 +127,6 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) this->reactor_mask_signals_ = 0; else if (ACE_OS::strcasecmp (name, "1") == 0) this->reactor_mask_signals_= 1; - else - this->report_option_value_error ("-ORBReactorMaskSignals", name); } } @@ -196,7 +173,9 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) this->connection_caching_type_ = TAO_Resource_Factory::NOOP; else - this->report_option_value_error ("-ORBConnectionCachingStrategy", name); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO_Default_Factory - unknown argument") + ACE_TEXT (" <%s> for -ORBConnectionCachingStrategy\n"), name)); } } @@ -207,7 +186,9 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) if (curarg < argc) this->cache_maximum_ = ACE_OS::atoi (argv[curarg]); else - this->report_option_value_error ("-ORBConnectionCacheMax", argv[curarg]); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO_Default_Factory - unknown argument") + ACE_TEXT ("for -ORBConnectionCacheMax\n"))); } else if (ACE_OS::strcasecmp (argv[curarg], @@ -217,8 +198,9 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) if (curarg < argc) this->purge_percentage_ = ACE_OS::atoi (argv[curarg]); else - this->report_option_value_error ("-ORBConnectionCachePurgePercentage", - argv[curarg]); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO_Default_Factory - unknown argument") + ACE_TEXT ("for -ORBConnectionCachePurgePercentage\n"))); } else if (ACE_OS::strcasecmp (argv[curarg], @@ -233,8 +215,9 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) if (curarg < argc) this->purge_percentage_ = ACE_OS::atoi (argv[curarg]); else - this->report_option_value_error ("-ORBPurgePercentage", - argv[curarg]); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("TAO_Default_Factory - unknown argument") + ACE_TEXT ("for -ORBConnectionCachePurgePercentage\n"))); } else if (ACE_OS::strcasecmp (argv[curarg], @@ -263,13 +246,11 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) "null") == 0) { // @@ Bug 940 :This is a sort of hack now. We need to put - // this in a common place once we get the common + // this in a common place once we get teh common // switch that is documented in bug 940... this->use_locked_data_blocks_ = 0; this->cached_connection_lock_type_ = TAO_NULL_LOCK; } - else - this->report_option_value_error ("-ORBConnectionCacheLock", name); } } @@ -297,8 +278,6 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) this->use_locked_data_blocks_ = 0; this->cached_connection_lock_type_ = TAO_NULL_LOCK; } - else - this->report_option_value_error ("-ORBConnectionLock", name); } } @@ -326,8 +305,6 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) this->use_locked_data_blocks_ = 0; this->cached_connection_lock_type_ = TAO_NULL_LOCK; } - else - this->report_option_value_error ("-ORBConnectorLock", name); } } @@ -340,34 +317,13 @@ TAO_Default_Resource_Factory::init (int argc, char *argv[]) char *name = argv[curarg]; if (ACE_OS::strcasecmp (name, - "leader_follower") == 0) - this->flushing_strategy_type_ = TAO_LEADER_FOLLOWER_FLUSHING; - else if (ACE_OS::strcasecmp (name, "reactive") == 0) this->flushing_strategy_type_ = TAO_REACTIVE_FLUSHING; else if (ACE_OS::strcasecmp (name, "blocking") == 0) this->flushing_strategy_type_ = TAO_BLOCKING_FLUSHING; - else - this->report_option_value_error ("-ORBFlushingStrategy", name); } } - else if (ACE_OS::strncmp (argv[curarg], "-ORB", 4) == 0) - { - // Can we assume there is an argument after the option? - // curarg++; - ACE_ERROR ((LM_ERROR, - "Default_Resource_Factory - " - "unknown option <%s>\n", - argv[curarg])); - } - else - { - ACE_DEBUG ((LM_DEBUG, - "Default_Resource_Factory - " - "ignoring option <%s>\n", - argv[curarg])); - } return 0; } @@ -386,7 +342,7 @@ TAO_Default_Resource_Factory::get_parser_names (char **&names, } // OK fallback on the hardcoded ones.... - this->parser_names_count_ = 4; // HOW MANY DO WE HAVE? + this->parser_names_count_ = 4; /*HOW MANY DO WE HAVE?*/ this->parser_names_ = new char *[this->parser_names_count_]; @@ -395,9 +351,7 @@ TAO_Default_Resource_Factory::get_parser_names (char **&names, ++i) this->parser_names_[i] = 0; - // Ensure that there is enough space in the parser_names_ array - - size_t index = 0; + // Ensure that there is enough space in the parser_names_ array */ // DLL_Parser TAO_IOR_Parser *tmp = @@ -416,8 +370,12 @@ TAO_Default_Resource_Factory::get_parser_names (char **&names, } } - this->parser_names_[index] = CORBA::string_dup ("DLL_Parser"); - index++; + int index = 0; + if (tmp != 0) + { + this->parser_names_[index] = CORBA::string_dup ("DLL_Parser"); + index++; + } // FILE_Parser tmp = @@ -436,9 +394,12 @@ TAO_Default_Resource_Factory::get_parser_names (char **&names, "Error Configuring FILE Parser\n"), -1); } } + if (tmp != 0) + { + this->parser_names_[index] = CORBA::string_dup ("FILE_Parser"); + index++; + } - this->parser_names_[index] = CORBA::string_dup ("FILE_Parser"); - index++; // CORBALOC_Parser tmp = @@ -663,7 +624,7 @@ TAO_Default_Resource_Factory::get_protocol_factories (void) return &protocol_factories_; } -TAO_Acceptor_Registry* +TAO_Acceptor_Registry * TAO_Default_Resource_Factory::get_acceptor_registry (void) { TAO_Acceptor_Registry *ar = 0; @@ -675,7 +636,7 @@ TAO_Default_Resource_Factory::get_acceptor_registry (void) return ar; } -TAO_Connector_Registry* +TAO_Connector_Registry * TAO_Default_Resource_Factory::get_connector_registry (void) { TAO_Connector_Registry *cr = 0; @@ -687,17 +648,6 @@ TAO_Default_Resource_Factory::get_connector_registry (void) return cr; } -TAO_Reactor_Registry * -TAO_Default_Resource_Factory::get_reactor_registry (void) -{ - TAO_Reactor_Registry *reactor_registry = 0; - - ACE_NEW_RETURN (reactor_registry, - TAO_Single_Reactor, - 0); - return reactor_registry; -} - ACE_Reactor_Impl* TAO_Default_Resource_Factory::allocate_reactor_impl (void) const { @@ -847,11 +797,7 @@ TAO_Flushing_Strategy * TAO_Default_Resource_Factory::create_flushing_strategy (void) { TAO_Flushing_Strategy *strategy = 0; - if (this->flushing_strategy_type_ == TAO_LEADER_FOLLOWER_FLUSHING) - ACE_NEW_RETURN (strategy, - TAO_Leader_Follower_Flushing_Strategy, - 0); - else if (this->flushing_strategy_type_ == TAO_REACTIVE_FLUSHING) + if (this->flushing_strategy_type_ == TAO_REACTIVE_FLUSHING) ACE_NEW_RETURN (strategy, TAO_Reactive_Flushing_Strategy, 0); @@ -891,43 +837,19 @@ TAO_Default_Resource_Factory::create_lf_strategy (void) TAO_LF_Strategy *strategy = 0; ACE_NEW_RETURN (strategy, - TAO_LF_Strategy_Complete, + TAO_Complete_LF_Strategy, 0); return strategy; } -void -TAO_Default_Resource_Factory::report_option_value_error ( - const char* option_name, - const char* option_value) -{ - ACE_DEBUG((LM_DEBUG, - ACE_TEXT ("Default_Resource_Factory - unknown argument") - ACE_TEXT (" <%s> for <%s>\n"), - option_value, option_name)); -} - -void -TAO_Default_Resource_Factory::disable_factory (void) -{ - this->factory_disabled_ = 1; - if (this->options_processed_) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) Warning: Resource_Factory options ignored\n") - ACE_TEXT ("Default Resource Factory is disabled\n"))); - } -} - // **************************************************************** ACE_STATIC_SVC_DEFINE (TAO_Default_Resource_Factory, ACE_TEXT ("Resource_Factory"), ACE_SVC_OBJ_T, &ACE_SVC_NAME (TAO_Default_Resource_Factory), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, 0) ACE_FACTORY_DEFINE (TAO, TAO_Default_Resource_Factory) |