From a1046e6373cc7efcad9e84cb7d1a1d12788f2ffa Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Sat, 16 Jun 2001 01:48:53 +0000 Subject: *** empty log message *** --- TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp | 10 ++++---- .../orbsvcs/LoadBalancing/LB_GenericFactory.cpp | 10 ++++---- .../orbsvcs/LoadBalancing/LoadBalancingI.cpp | 28 ++++++++++++++++++++-- TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.h | 15 ++++++++++++ TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp | 28 ++++++++++++++++++++-- TAO/orbsvcs/orbsvcs/LoadBalancingI.h | 15 ++++++++++++ 6 files changed, 94 insertions(+), 12 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp b/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp index bbb63c5836c..d869aef990e 100644 --- a/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp @@ -35,13 +35,15 @@ TAO_LB_GenericFactory::create_object ( LoadBalancing::InvalidProperty, LoadBalancing::CannotMeetCriteria)) { - LoadBalancing::Criteria_var creation_criteria = - this->property_manager_.process_criteria (the_criteria, - ACE_TRY_ENV); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); +// LoadBalancing::Criteria_var creation_criteria = +// this->property_manager_.process_criteria (the_criteria, +// ACE_TRY_ENV); +// ACE_CHECK_RETURN (CORBA::Object::_nil ()); CORBA::ULong factory_infos_count = factory_infos.length (); + const CORBA::UShort initial_number_replicas = 3; // @@ REMOVE ME! + // If the number of factories is less than the initial number of // replicas, then the desired number of replicas cannot possibly be // created. diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp index bbb63c5836c..d869aef990e 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp @@ -35,13 +35,15 @@ TAO_LB_GenericFactory::create_object ( LoadBalancing::InvalidProperty, LoadBalancing::CannotMeetCriteria)) { - LoadBalancing::Criteria_var creation_criteria = - this->property_manager_.process_criteria (the_criteria, - ACE_TRY_ENV); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); +// LoadBalancing::Criteria_var creation_criteria = +// this->property_manager_.process_criteria (the_criteria, +// ACE_TRY_ENV); +// ACE_CHECK_RETURN (CORBA::Object::_nil ()); CORBA::ULong factory_infos_count = factory_infos.length (); + const CORBA::UShort initial_number_replicas = 3; // @@ REMOVE ME! + // If the number of factories is less than the initial number of // replicas, then the desired number of replicas cannot possibly be // created. diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp index d97462d5e7b..f5820808bd2 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp @@ -7,6 +7,8 @@ #include "LB_ReplicaLocator.h" #include "LB_Balancing_Strategy.h" +#include "LB_Minimum_Dispersion.h" // @@ REMOVE ME! + ACE_RCSID (LoadBalancing, LoadBalancingI, "$Id$") @@ -22,14 +24,16 @@ TAO_LoadBalancing_ReplicationManager_i::TAO_LoadBalancing_ReplicationManager_i generic_factory_ (this->property_manager_, this->object_group_map_), object_group_manager_ (this->property_manager_, - this->object_group_map_) + this->object_group_map_), + balancing_strategy_ (new TAO_LB_Minimum_Dispersion_Strategy) //@@ FIXME! { - // (void) this->init (); + // (void) this->init (); } // Implementation skeleton destructor TAO_LoadBalancing_ReplicationManager_i::~TAO_LoadBalancing_ReplicationManager_i (void) { + delete this->balancing_strategy_; // @@ REMOVE ME! } void @@ -51,6 +55,26 @@ TAO_LoadBalancing_ReplicationManager_i::get_load_notifier ( LoadBalancing::LoadNotifier::_nil ()); } +void +TAO_LoadBalancing_ReplicationManager_i::register_load_monitor ( + LoadBalancing::LoadMonitor_ptr /* load_monitor */, + const LoadBalancing::Location & /* the_location */, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +LoadBalancing::LoadMonitor_ptr +TAO_LoadBalancing_ReplicationManager_i::get_load_monitor ( + const LoadBalancing::Location & /* the_location */, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException, + LoadBalancing::InterfaceNotFound)) +{ + ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), + LoadBalancing::LoadMonitor::_nil ()); +} + void TAO_LoadBalancing_ReplicationManager_i::set_default_properties ( const LoadBalancing::Properties &props, diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.h index 7ca842fc719..9d15fdc6078 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.h @@ -58,6 +58,21 @@ public: ACE_THROW_SPEC ((CORBA::SystemException, LoadBalancing::InterfaceNotFound)); + /// Register a load monitor with the load balancer + /// ReplicationManager. + virtual void register_load_monitor ( + LoadBalancing::LoadMonitor_ptr load_monitor, + const LoadBalancing::Location & the_location, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException)); + + /// Return a reference to the load notifier in use. + virtual LoadBalancing::LoadMonitor_ptr get_load_monitor ( + const LoadBalancing::Location & the_location, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + LoadBalancing::InterfaceNotFound)); + /** * @name LoadBalancing::PropertyManager methods */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp index d97462d5e7b..f5820808bd2 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp @@ -7,6 +7,8 @@ #include "LB_ReplicaLocator.h" #include "LB_Balancing_Strategy.h" +#include "LB_Minimum_Dispersion.h" // @@ REMOVE ME! + ACE_RCSID (LoadBalancing, LoadBalancingI, "$Id$") @@ -22,14 +24,16 @@ TAO_LoadBalancing_ReplicationManager_i::TAO_LoadBalancing_ReplicationManager_i generic_factory_ (this->property_manager_, this->object_group_map_), object_group_manager_ (this->property_manager_, - this->object_group_map_) + this->object_group_map_), + balancing_strategy_ (new TAO_LB_Minimum_Dispersion_Strategy) //@@ FIXME! { - // (void) this->init (); + // (void) this->init (); } // Implementation skeleton destructor TAO_LoadBalancing_ReplicationManager_i::~TAO_LoadBalancing_ReplicationManager_i (void) { + delete this->balancing_strategy_; // @@ REMOVE ME! } void @@ -51,6 +55,26 @@ TAO_LoadBalancing_ReplicationManager_i::get_load_notifier ( LoadBalancing::LoadNotifier::_nil ()); } +void +TAO_LoadBalancing_ReplicationManager_i::register_load_monitor ( + LoadBalancing::LoadMonitor_ptr /* load_monitor */, + const LoadBalancing::Location & /* the_location */, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +LoadBalancing::LoadMonitor_ptr +TAO_LoadBalancing_ReplicationManager_i::get_load_monitor ( + const LoadBalancing::Location & /* the_location */, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException, + LoadBalancing::InterfaceNotFound)) +{ + ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), + LoadBalancing::LoadMonitor::_nil ()); +} + void TAO_LoadBalancing_ReplicationManager_i::set_default_properties ( const LoadBalancing::Properties &props, diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancingI.h b/TAO/orbsvcs/orbsvcs/LoadBalancingI.h index 7ca842fc719..9d15fdc6078 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancingI.h +++ b/TAO/orbsvcs/orbsvcs/LoadBalancingI.h @@ -58,6 +58,21 @@ public: ACE_THROW_SPEC ((CORBA::SystemException, LoadBalancing::InterfaceNotFound)); + /// Register a load monitor with the load balancer + /// ReplicationManager. + virtual void register_load_monitor ( + LoadBalancing::LoadMonitor_ptr load_monitor, + const LoadBalancing::Location & the_location, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException)); + + /// Return a reference to the load notifier in use. + virtual LoadBalancing::LoadMonitor_ptr get_load_monitor ( + const LoadBalancing::Location & the_location, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + LoadBalancing::InterfaceNotFound)); + /** * @name LoadBalancing::PropertyManager methods */ -- cgit v1.2.1