From b83e33f55dd741fe2653eec3e863cbeb6fdec484 Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Fri, 15 Jun 2001 21:21:58 +0000 Subject: More compile-time fixes. --- TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp | 14 ++++++------ TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp | 4 ++-- TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp | 26 ++++++++++------------ TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp | 16 ++++++------- TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h | 3 +++ .../orbsvcs/LB_RPMS_Monitor_Interceptor.cpp | 3 +-- .../orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp | 2 +- .../orbsvcs/LB_RPMS_Monitor_ORBInitializer.h | 20 +++++++++++++++-- TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp | 14 ++++++------ TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h | 1 + TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h | 3 ++- .../LoadBalancing/LB_Minimum_Dispersion.cpp | 14 ++++++------ .../LoadBalancing/LB_ObjectGroupManager.cpp | 4 ++-- .../orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp | 26 ++++++++++------------ .../orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp | 16 ++++++------- .../orbsvcs/LoadBalancing/LB_RPMS_Monitor.h | 3 +++ .../LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp | 3 +-- .../LB_RPMS_Monitor_ORBInitializer.cpp | 2 +- .../LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h | 20 +++++++++++++++-- .../orbsvcs/LoadBalancing/LB_Redirect_Table.cpp | 14 ++++++------ .../orbsvcs/LoadBalancing/LB_Redirect_Table.h | 1 + .../orbsvcs/LoadBalancing/LB_ReplicaLocator.h | 3 ++- 22 files changed, 124 insertions(+), 88 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp b/TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp index 3db59e19859..3ca7acc587c 100644 --- a/TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp @@ -35,26 +35,26 @@ TAO_LB_Minimum_Dispersion_Strategy::replica ( ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), CORBA::Object::_nil ()); - TAO_LB_ReplicaInfoSetIterator begin = entry->replica_infos.begin (); - TAO_LB_ReplicaInfoSetIterator end = entry->replica_infos.end (); + TAO_LB_ReplicaInfo_Set_Iterator begin = entry->replica_infos.begin (); + TAO_LB_ReplicaInfo_Set_Iterator end = entry->replica_infos.end (); - TAO_LB_ReplicaInfoSetIterator i = begin; + TAO_LB_ReplicaInfo_Set_Iterator i = begin; TAO_LB_ReplicaInfo *replica_info = (*i); - LoadBalancing::Load_var d = - (*i)->load_monitor->current_load (ACE_TRY_ENV); + LoadBalancing::LoadList_var d = + replica_info->load_monitor->current_load (ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::Object::_nil ()); for (++i ; i != end; ++i) { - LoadBalancing::Load_var load = + LoadBalancing::LoadList_var load = (*i)->load_monitor->current_load (ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::Object::_nil ()); // @@ Hardcode one load and don't bother checking the // LoadId, for now. (just to get things going) - if (d[0].value > load[0].value) + if (d[CORBA::Long (0)].value > load[CORBA::Long (0)].value) { replica_info = *i; d = (*i)->load_monitor->current_load (ACE_TRY_ENV); diff --git a/TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp b/TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp index 168246a49ac..8cb47065700 100644 --- a/TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp @@ -16,7 +16,7 @@ ACE_RCSID (LoadBalancing, TAO_LB_ObjectGroupManager::TAO_LB_ObjectGroupManager ( TAO_LB_PropertyManager &property_manager, TAO_LB_ObjectGroup_Map &map) - : property_mangager_ (property_manager), + : property_manager_ (property_manager), object_group_map_ (map) { } @@ -117,7 +117,7 @@ TAO_LB_ObjectGroupManager::get_object_group_ref ( CORBA::Object_ptr TAO_LB_ObjectGroupManager::get_member_ref ( LoadBalancing::ObjectGroup_ptr /* object_group */, - const LoadBalancing::Location & loc, + const LoadBalancing::Location & /* loc */, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException, LoadBalancing::ObjectGroupNotFound, diff --git a/TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp b/TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp index 7db3a106c55..7bbd90b959d 100644 --- a/TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp @@ -10,23 +10,21 @@ ACE_RCSID (LoadBalancing, #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class ACE_Hash_Map_Entry; -template class ACE_Hash_Map_Manager; -template class ACE_Hash_Map_Iterator; -template class ACE_Hash_Map_Reverse_Iterator; -template class ACE_Hash_Map_Manager_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Iterator_Base_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Reverse_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Manager_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Iterator_Base_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Iterator_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Reverse_Iterator_Ex, TAO_SYNCH_MUTEX>; + +template class ACE_Equal_To; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) #pragma instantiate ACE_Hash_Map_Entry -#pragma instantiate ACE_Hash_Map_Manager -#pragma instantiate ACE_Hash_Map_Iterator -#pragma instantiate ACE_Hash_Map_Reverse_Iterator -#pragma instantiate ACE_Hash_Map_Manager_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Manager_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Iterator_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex, TAO_SYNCH_MUTEX> + +#pragma instantiate ACE_Equal_To #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp index 4ba7baf6099..6bac2b57077 100644 --- a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp @@ -25,13 +25,13 @@ TAO_LB_RPMS_Monitor::init (CORBA::Environment &ACE_TRY_ENV) PortableInterceptor::ServerRequestInterceptor_var tmp = this->interceptor_; TAO_LB_RPMS_Monitor_ORBInitializer *initializer = 0; - ACE_NEW (temp_initializer, + ACE_NEW (initializer, TAO_LB_RPMS_Monitor_ORBInitializer (this->interceptor_)); PortableInterceptor::ORBInitializer_var orb_initializer = - temp_initializer; + initializer; - PortableInterceptor::register_orb_initializer (initializer.in (), + PortableInterceptor::register_orb_initializer (orb_initializer.in (), ACE_TRY_ENV); ACE_CHECK; } @@ -77,9 +77,9 @@ TAO_LB_RPMS_Monitor::register_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - this->interceptor_.register_redirect (type_id, - redirect_to, - ACE_TRY_ENV); + this->interceptor_->register_redirect (type_id, + redirect_to, + ACE_TRY_ENV); } void @@ -87,6 +87,6 @@ TAO_LB_RPMS_Monitor::remove_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - this->interceptor_.remove_redirect (type_id, - ACE_TRY_ENV); + this->interceptor_->remove_redirect (type_id, + ACE_TRY_ENV); } diff --git a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h index b508ff4253c..5bb11ac759a 100644 --- a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h +++ b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h @@ -75,6 +75,9 @@ public: //@} + /// Initialize the RPMS_Monitor. + void init (CORBA::Environment &ACE_TRY_ENV); + private: /// Interceptor responsible for keeping track of the number of diff --git a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_Interceptor.cpp index abe11761b42..5d5df97d2a9 100644 --- a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_Interceptor.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_Interceptor.cpp @@ -12,8 +12,7 @@ ACE_RCSID (LoadBalancing, #endif /* __ACE_INLINE__ */ -TAO_LB_RPMS_Monitor_Interceptor::TAO_LB_RPMS_Monitor_Interceptor ( - CORBA::Object_ptr object_group) +TAO_LB_RPMS_Monitor_Interceptor::TAO_LB_RPMS_Monitor_Interceptor (void) : lock_ (), request_count_ (0), interval_start_ (ACE_OS::gettimeofday ()), diff --git a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp index 32012144fe8..62a3f5dde8f 100644 --- a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp @@ -8,7 +8,7 @@ ACE_RCSID (LoadBalancing, TAO_LB_RPMS_Monitor_ORBInitializer::TAO_LB_RPMS_Monitor_ORBInitializer ( - TAO_LB_RPMS_Monitor_Interceptor *interceptor) + PortableInterceptor::ServerRequestInterceptor_ptr interceptor) : interceptor_ (interceptor) { } diff --git a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.h index 0b9f7b23f7a..923d835911c 100644 --- a/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.h +++ b/TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.h @@ -34,13 +34,24 @@ #endif /* _MSC_VER */ -/// Server side ORB initializer. -class TAO_LB_RPMS_Monitor_OrbInitializer : +class TAO_LB_RPMS_Monitor_Interceptor; + +/** + * @class TAO_LB_RPMS_Monitor_ORBInitializer + * + * @brief ORBInitializer that registers the RPMS_Monitor interceptor + * with the ORB. + */ +class TAO_LB_RPMS_Monitor_ORBInitializer : public virtual PortableInterceptor::ORBInitializer, public virtual TAO_Local_RefCounted_Object { public: + /// Constructor. + TAO_LB_RPMS_Monitor_ORBInitializer ( + PortableInterceptor::ServerRequestInterceptor_ptr interceptor); + /** * @name The PortableInterceptor::ORBInitializer methods. */ @@ -56,6 +67,11 @@ public: //@} +private: + + /// Reference to the RPMS_Monitor interceptor. + PortableInterceptor::ServerRequestInterceptor_ptr interceptor_; + }; diff --git a/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp b/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp index cd51388e080..80ae16dd705 100644 --- a/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp @@ -34,10 +34,10 @@ TAO_LB_Redirect_Table::register_redirect ( { // The RepositoryId should never be zero since it is not possible to // send a NULL string as an "in" argument. - if (ACE_OS_String::strlen (id) == 0) + if (ACE_OS_String::strlen (type_id) == 0) ACE_THROW (CORBA::BAD_PARAM ()); - if (CORBA::is_nil (obj)) + if (CORBA::is_nil (redirect_to)) ACE_THROW (CORBA::BAD_PARAM ()); int result = this->bind (type_id, redirect_to); @@ -99,7 +99,7 @@ TAO_LB_Redirect_Table::find_redirect ( // redirects. CORBA::Boolean matched = ri->target_is_a ((*i).ext_id_, ACE_TRY_ENV); - ACE_CHECK_RETURN (0); + ACE_CHECK; if (matched) ACE_THROW (PortableInterceptor::ForwardRequest ( @@ -108,7 +108,7 @@ TAO_LB_Redirect_Table::find_redirect ( } } -int +void TAO_LB_Redirect_Table::remove_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) { @@ -127,12 +127,12 @@ TAO_LB_Redirect_Table::remove_redirect (const char *type_id, result = this->table_.unbind (entry); if (result != 0) - return result; + ACE_THROW (CORBA::INTERNAL ()); // @@ FIXME! NEED BETTER EXCEPTION! CORBA::release (redirect); } - - return result; + else + ACE_THROW (CORBA::INTERNAL ()); // @@ FIXME! NEED BETTER EXCEPTION! } void diff --git a/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h b/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h index 4f4b620ec9f..1bd5034baab 100644 --- a/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h +++ b/TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h @@ -26,6 +26,7 @@ #include "ace/Hash_Map_Manager_T.h" #include "ace/Functor.h" +#include "tao/PortableInterceptorC.h" /** * @class TAO_LB_Redirect_Table diff --git a/TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h b/TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h index 129c969207f..5d667b464a0 100644 --- a/TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h +++ b/TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h @@ -41,7 +41,8 @@ class TAO_LB_ReplicaLocator public: /// Constructor - TAO_LB_ReplicaLocator (TAO_LB_LoadBalancer *load_balancer); + TAO_LB_ReplicaLocator ( + TAO_LoadBalancing_ReplicationManager_i *load_balancer); /** * @name The PortableServer::ServantLocator methods. diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Minimum_Dispersion.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Minimum_Dispersion.cpp index 3db59e19859..3ca7acc587c 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Minimum_Dispersion.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Minimum_Dispersion.cpp @@ -35,26 +35,26 @@ TAO_LB_Minimum_Dispersion_Strategy::replica ( ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), CORBA::Object::_nil ()); - TAO_LB_ReplicaInfoSetIterator begin = entry->replica_infos.begin (); - TAO_LB_ReplicaInfoSetIterator end = entry->replica_infos.end (); + TAO_LB_ReplicaInfo_Set_Iterator begin = entry->replica_infos.begin (); + TAO_LB_ReplicaInfo_Set_Iterator end = entry->replica_infos.end (); - TAO_LB_ReplicaInfoSetIterator i = begin; + TAO_LB_ReplicaInfo_Set_Iterator i = begin; TAO_LB_ReplicaInfo *replica_info = (*i); - LoadBalancing::Load_var d = - (*i)->load_monitor->current_load (ACE_TRY_ENV); + LoadBalancing::LoadList_var d = + replica_info->load_monitor->current_load (ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::Object::_nil ()); for (++i ; i != end; ++i) { - LoadBalancing::Load_var load = + LoadBalancing::LoadList_var load = (*i)->load_monitor->current_load (ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::Object::_nil ()); // @@ Hardcode one load and don't bother checking the // LoadId, for now. (just to get things going) - if (d[0].value > load[0].value) + if (d[CORBA::Long (0)].value > load[CORBA::Long (0)].value) { replica_info = *i; d = (*i)->load_monitor->current_load (ACE_TRY_ENV); diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroupManager.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroupManager.cpp index 168246a49ac..8cb47065700 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroupManager.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroupManager.cpp @@ -16,7 +16,7 @@ ACE_RCSID (LoadBalancing, TAO_LB_ObjectGroupManager::TAO_LB_ObjectGroupManager ( TAO_LB_PropertyManager &property_manager, TAO_LB_ObjectGroup_Map &map) - : property_mangager_ (property_manager), + : property_manager_ (property_manager), object_group_map_ (map) { } @@ -117,7 +117,7 @@ TAO_LB_ObjectGroupManager::get_object_group_ref ( CORBA::Object_ptr TAO_LB_ObjectGroupManager::get_member_ref ( LoadBalancing::ObjectGroup_ptr /* object_group */, - const LoadBalancing::Location & loc, + const LoadBalancing::Location & /* loc */, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException, LoadBalancing::ObjectGroupNotFound, diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp index 7db3a106c55..7bbd90b959d 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp @@ -10,23 +10,21 @@ ACE_RCSID (LoadBalancing, #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class ACE_Hash_Map_Entry; -template class ACE_Hash_Map_Manager; -template class ACE_Hash_Map_Iterator; -template class ACE_Hash_Map_Reverse_Iterator; -template class ACE_Hash_Map_Manager_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Iterator_Base_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; -template class ACE_Hash_Map_Reverse_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Manager_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Iterator_Base_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Iterator_Ex, TAO_SYNCH_MUTEX>; +template class ACE_Hash_Map_Reverse_Iterator_Ex, TAO_SYNCH_MUTEX>; + +template class ACE_Equal_To; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) #pragma instantiate ACE_Hash_Map_Entry -#pragma instantiate ACE_Hash_Map_Manager -#pragma instantiate ACE_Hash_Map_Iterator -#pragma instantiate ACE_Hash_Map_Reverse_Iterator -#pragma instantiate ACE_Hash_Map_Manager_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> -#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex, ACE_Equal_To, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Manager_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Iterator_Ex, TAO_SYNCH_MUTEX> +#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex, TAO_SYNCH_MUTEX> + +#pragma instantiate ACE_Equal_To #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp index 4ba7baf6099..6bac2b57077 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp @@ -25,13 +25,13 @@ TAO_LB_RPMS_Monitor::init (CORBA::Environment &ACE_TRY_ENV) PortableInterceptor::ServerRequestInterceptor_var tmp = this->interceptor_; TAO_LB_RPMS_Monitor_ORBInitializer *initializer = 0; - ACE_NEW (temp_initializer, + ACE_NEW (initializer, TAO_LB_RPMS_Monitor_ORBInitializer (this->interceptor_)); PortableInterceptor::ORBInitializer_var orb_initializer = - temp_initializer; + initializer; - PortableInterceptor::register_orb_initializer (initializer.in (), + PortableInterceptor::register_orb_initializer (orb_initializer.in (), ACE_TRY_ENV); ACE_CHECK; } @@ -77,9 +77,9 @@ TAO_LB_RPMS_Monitor::register_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - this->interceptor_.register_redirect (type_id, - redirect_to, - ACE_TRY_ENV); + this->interceptor_->register_redirect (type_id, + redirect_to, + ACE_TRY_ENV); } void @@ -87,6 +87,6 @@ TAO_LB_RPMS_Monitor::remove_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - this->interceptor_.remove_redirect (type_id, - ACE_TRY_ENV); + this->interceptor_->remove_redirect (type_id, + ACE_TRY_ENV); } diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.h index b508ff4253c..5bb11ac759a 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.h @@ -75,6 +75,9 @@ public: //@} + /// Initialize the RPMS_Monitor. + void init (CORBA::Environment &ACE_TRY_ENV); + private: /// Interceptor responsible for keeping track of the number of diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp index abe11761b42..5d5df97d2a9 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp @@ -12,8 +12,7 @@ ACE_RCSID (LoadBalancing, #endif /* __ACE_INLINE__ */ -TAO_LB_RPMS_Monitor_Interceptor::TAO_LB_RPMS_Monitor_Interceptor ( - CORBA::Object_ptr object_group) +TAO_LB_RPMS_Monitor_Interceptor::TAO_LB_RPMS_Monitor_Interceptor (void) : lock_ (), request_count_ (0), interval_start_ (ACE_OS::gettimeofday ()), diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.cpp index 32012144fe8..62a3f5dde8f 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.cpp @@ -8,7 +8,7 @@ ACE_RCSID (LoadBalancing, TAO_LB_RPMS_Monitor_ORBInitializer::TAO_LB_RPMS_Monitor_ORBInitializer ( - TAO_LB_RPMS_Monitor_Interceptor *interceptor) + PortableInterceptor::ServerRequestInterceptor_ptr interceptor) : interceptor_ (interceptor) { } diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h index 0b9f7b23f7a..923d835911c 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h @@ -34,13 +34,24 @@ #endif /* _MSC_VER */ -/// Server side ORB initializer. -class TAO_LB_RPMS_Monitor_OrbInitializer : +class TAO_LB_RPMS_Monitor_Interceptor; + +/** + * @class TAO_LB_RPMS_Monitor_ORBInitializer + * + * @brief ORBInitializer that registers the RPMS_Monitor interceptor + * with the ORB. + */ +class TAO_LB_RPMS_Monitor_ORBInitializer : public virtual PortableInterceptor::ORBInitializer, public virtual TAO_Local_RefCounted_Object { public: + /// Constructor. + TAO_LB_RPMS_Monitor_ORBInitializer ( + PortableInterceptor::ServerRequestInterceptor_ptr interceptor); + /** * @name The PortableInterceptor::ORBInitializer methods. */ @@ -56,6 +67,11 @@ public: //@} +private: + + /// Reference to the RPMS_Monitor interceptor. + PortableInterceptor::ServerRequestInterceptor_ptr interceptor_; + }; diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.cpp index cd51388e080..80ae16dd705 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.cpp @@ -34,10 +34,10 @@ TAO_LB_Redirect_Table::register_redirect ( { // The RepositoryId should never be zero since it is not possible to // send a NULL string as an "in" argument. - if (ACE_OS_String::strlen (id) == 0) + if (ACE_OS_String::strlen (type_id) == 0) ACE_THROW (CORBA::BAD_PARAM ()); - if (CORBA::is_nil (obj)) + if (CORBA::is_nil (redirect_to)) ACE_THROW (CORBA::BAD_PARAM ()); int result = this->bind (type_id, redirect_to); @@ -99,7 +99,7 @@ TAO_LB_Redirect_Table::find_redirect ( // redirects. CORBA::Boolean matched = ri->target_is_a ((*i).ext_id_, ACE_TRY_ENV); - ACE_CHECK_RETURN (0); + ACE_CHECK; if (matched) ACE_THROW (PortableInterceptor::ForwardRequest ( @@ -108,7 +108,7 @@ TAO_LB_Redirect_Table::find_redirect ( } } -int +void TAO_LB_Redirect_Table::remove_redirect (const char *type_id, CORBA::Environment &ACE_TRY_ENV) { @@ -127,12 +127,12 @@ TAO_LB_Redirect_Table::remove_redirect (const char *type_id, result = this->table_.unbind (entry); if (result != 0) - return result; + ACE_THROW (CORBA::INTERNAL ()); // @@ FIXME! NEED BETTER EXCEPTION! CORBA::release (redirect); } - - return result; + else + ACE_THROW (CORBA::INTERNAL ()); // @@ FIXME! NEED BETTER EXCEPTION! } void diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.h index 4f4b620ec9f..1bd5034baab 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.h @@ -26,6 +26,7 @@ #include "ace/Hash_Map_Manager_T.h" #include "ace/Functor.h" +#include "tao/PortableInterceptorC.h" /** * @class TAO_LB_Redirect_Table diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ReplicaLocator.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ReplicaLocator.h index 129c969207f..5d667b464a0 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ReplicaLocator.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ReplicaLocator.h @@ -41,7 +41,8 @@ class TAO_LB_ReplicaLocator public: /// Constructor - TAO_LB_ReplicaLocator (TAO_LB_LoadBalancer *load_balancer); + TAO_LB_ReplicaLocator ( + TAO_LoadBalancing_ReplicationManager_i *load_balancer); /** * @name The PortableServer::ServantLocator methods. -- cgit v1.2.1