summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2001-06-15 21:21:58 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2001-06-15 21:21:58 +0000
commitb83e33f55dd741fe2653eec3e863cbeb6fdec484 (patch)
tree64c129271f04a749079fc1cb5e5d5d2787588dbe
parentcbff57de01637b4e00f6b9ef3d5225c2f2599d8d (diff)
downloadATCD-b83e33f55dd741fe2653eec3e863cbeb6fdec484.tar.gz
More compile-time fixes.
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_Minimum_Dispersion.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_ObjectGroupManager.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_ObjectGroup_Map.cpp26
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.cpp16
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_Interceptor.cpp3
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_RPMS_Monitor_ORBInitializer.h20
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_Redirect_Table.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_Redirect_Table.h1
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_ReplicaLocator.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Minimum_Dispersion.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroupManager.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Map.cpp26
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.cpp16
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_Interceptor.cpp3
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RPMS_Monitor_ORBInitializer.h20
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Redirect_Table.h1
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ReplicaLocator.h3
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<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *>;
-template class ACE_Hash_Map_Manager<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+
+template class ACE_Equal_To<PortableServer::ObjectId>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Hash_Map_Entry<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *>
-#pragma instantiate ACE_Hash_Map_Manager<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+
+#pragma instantiate ACE_Equal_To<PortableServer::ObjectId>
#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<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *>;
-template class ACE_Hash_Map_Manager<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>;
+
+template class ACE_Equal_To<PortableServer::ObjectId>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Hash_Map_Entry<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *>
-#pragma instantiate ACE_Hash_Map_Manager<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, ACE_Hash<PortableServer::ObjectId>, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<PortableServer::ObjectId, TAO_LB_ObjectGroup_Map_Entry *, TAO_ObjectId_Hash, ACE_Equal_To<PortableServer::ObjectId>, TAO_SYNCH_MUTEX>
+
+#pragma instantiate ACE_Equal_To<PortableServer::ObjectId>
#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.