diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp | 139 |
1 files changed, 44 insertions, 95 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp index 00c4fa6203d..1caafd25627 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp @@ -53,14 +53,14 @@ TAO_LB_LeastLoaded::~TAO_LB_LeastLoaded (void) } char * -TAO_LB_LeastLoaded::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) +TAO_LB_LeastLoaded::name (void) ACE_THROW_SPEC ((CORBA::SystemException)) { return CORBA::string_dup ("LeastLoaded"); } CosLoadBalancing::Properties * -TAO_LB_LeastLoaded::get_properties (ACE_ENV_SINGLE_ARG_DECL) +TAO_LB_LeastLoaded::get_properties (void) ACE_THROW_SPEC ((CORBA::SystemException)) { CosLoadBalancing::Properties * props = 0; @@ -71,7 +71,6 @@ TAO_LB_LeastLoaded::get_properties (ACE_ENV_SINGLE_ARG_DECL) TAO::VMCID, ENOMEM), CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); return props; } @@ -79,31 +78,28 @@ TAO_LB_LeastLoaded::get_properties (ACE_ENV_SINGLE_ARG_DECL) void TAO_LB_LeastLoaded::push_loads ( const PortableGroup::Location & the_location, - const CosLoadBalancing::LoadList & loads - ACE_ENV_ARG_DECL) + const CosLoadBalancing::LoadList & loads) ACE_THROW_SPEC ((CORBA::SystemException)) { // Only the first load is used by this load balancing strategy. if (loads.length () == 0) - ACE_THROW (CORBA::BAD_PARAM ()); + throw CORBA::BAD_PARAM (); CosLoadBalancing::Load load; // Unused this->push_loads (the_location, loads, - load - ACE_ENV_ARG_PARAMETER); + load); } void TAO_LB_LeastLoaded::push_loads ( const PortableGroup::Location & the_location, const CosLoadBalancing::LoadList & loads, - CosLoadBalancing::Load & load - ACE_ENV_ARG_DECL) + CosLoadBalancing::Load & load) { if (loads.length () == 0) - ACE_THROW (CORBA::BAD_PARAM ()); + throw CORBA::BAD_PARAM (); // Only the first load is used by this load balancing strategy. const CosLoadBalancing::Load & new_load = loads[0]; @@ -118,7 +114,7 @@ TAO_LB_LeastLoaded::push_loads ( CosLoadBalancing::Load & previous_load = entry->int_id_; if (previous_load.id != new_load.id) - ACE_THROW (CORBA::BAD_PARAM ()); // Somebody switched + throw CORBA::BAD_PARAM (); // Somebody switched // LoadIds on us! previous_load.value = @@ -141,7 +137,7 @@ TAO_LB_LeastLoaded::push_loads ( "ERROR: TAO_LB_LeastLoaded - " "Unable to push loads\n")); - ACE_THROW (CORBA::INTERNAL ()); + throw CORBA::INTERNAL (); } load = eff_load; @@ -156,8 +152,7 @@ TAO_LB_LeastLoaded::push_loads ( CosLoadBalancing::LoadList * TAO_LB_LeastLoaded::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) + const PortableGroup::Location & the_location) ACE_THROW_SPEC ((CORBA::SystemException, CosLoadBalancing::LocationNotFound)) { @@ -165,15 +160,11 @@ TAO_LB_LeastLoaded::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); CosLoadBalancing::LoadList_var loads = - load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); + load_manager->get_loads (the_location); this->push_loads (the_location, loads.in (), - loads[0] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); + loads[0]); return loads._retn (); } @@ -182,8 +173,7 @@ TAO_LB_LeastLoaded::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, CORBA::Object_ptr TAO_LB_LeastLoaded::next_member ( PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager - ACE_ENV_ARG_DECL) + CosLoadBalancing::LoadManager_ptr load_manager) ACE_THROW_SPEC ((CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound)) @@ -193,9 +183,7 @@ TAO_LB_LeastLoaded::next_member ( CORBA::Object::_nil ()); PortableGroup::Locations_var locations = - load_manager->locations_of_members (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); + load_manager->locations_of_members (object_group); if (locations->length () == 0) ACE_THROW_RETURN (CORBA::TRANSIENT (), @@ -208,9 +196,7 @@ TAO_LB_LeastLoaded::next_member ( CORBA::Boolean found_location = this->get_location (load_manager, locations.in (), - location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); + location); if (found_location) { @@ -219,8 +205,7 @@ TAO_LB_LeastLoaded::next_member ( // location[0].id.in ())); return load_manager->get_member_ref (object_group, - location - ACE_ENV_ARG_PARAMETER); + location); } else { @@ -236,28 +221,24 @@ TAO_LB_LeastLoaded::next_member ( return TAO_LB_Random::_tao_next_member (object_group, load_manager, - locations.in () - ACE_ENV_ARG_PARAMETER); + locations.in ()); } } void TAO_LB_LeastLoaded::analyze_loads ( PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager - ACE_ENV_ARG_DECL) + CosLoadBalancing::LoadManager_ptr load_manager) ACE_THROW_SPEC ((CORBA::SystemException)) { if (CORBA::is_nil (load_manager)) - ACE_THROW (CORBA::BAD_PARAM ()); + throw CORBA::BAD_PARAM (); PortableGroup::Locations_var locations = - load_manager->locations_of_members (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + load_manager->locations_of_members (object_group); if (locations->length () == 0) - ACE_THROW (CORBA::TRANSIENT ()); + throw CORBA::TRANSIENT (); const CORBA::ULong len = locations->length (); @@ -265,7 +246,7 @@ TAO_LB_LeastLoaded::analyze_loads ( // locations require load to be shed. for (CORBA::ULong i = 0; i < len; ++i) { - ACE_TRY + try { const PortableGroup::Location & loc = locations[i]; @@ -273,16 +254,12 @@ TAO_LB_LeastLoaded::analyze_loads ( // LoadManager and push it to this Strategy's load // processor. CosLoadBalancing::LoadList_var current_loads = - load_manager->get_loads (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load_manager->get_loads (loc); CosLoadBalancing::Load load; this->push_loads (loc, current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load); /* ACE_DEBUG ((LM_DEBUG, "EFFECTIVE_LOAD == %f\n" @@ -311,32 +288,26 @@ TAO_LB_LeastLoaded::analyze_loads ( // associated with the member at that location it // should redirect client requests back to the // LoadManager. - load_manager->enable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load_manager->enable_alert (loc); } else { // The location is not overloaded. Disable load // shedding at given location. - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load_manager->disable_alert (loc); } } } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) + catch (const CosLoadBalancing::LocationNotFound&) { // No load available for the requested location. Try the // next location. } - ACE_ENDTRY; - ACE_CHECK; } } PortableServer::POA_ptr -TAO_LB_LeastLoaded::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) +TAO_LB_LeastLoaded::_default_POA (void) { return PortableServer::POA::_duplicate (this->poa_.in ()); } @@ -345,8 +316,7 @@ CORBA::Boolean TAO_LB_LeastLoaded::get_location ( CosLoadBalancing::LoadManager_ptr load_manager, const PortableGroup::Locations & locations, - PortableGroup::Location & location - ACE_ENV_ARG_DECL) + PortableGroup::Location & location) { CORBA::Float min_load = FLT_MAX; // Start out with the largest // positive value. @@ -361,25 +331,21 @@ TAO_LB_LeastLoaded::get_location ( // of them. for (CORBA::ULong i = 0; i < len; ++i) { - ACE_TRY + try { const PortableGroup::Location & loc = locations[i]; // Retrieve the load list for the location from the LoadManager // and push it to this Strategy's load processor. CosLoadBalancing::LoadList_var current_loads = - load_manager->get_loads (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load_manager->get_loads (loc); found_load = 1; CosLoadBalancing::Load load; this->push_loads (loc, current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; + load); /* ACE_DEBUG ((LM_DEBUG, "LOC = %u" @@ -490,13 +456,11 @@ TAO_LB_LeastLoaded::get_location ( // ACE_DEBUG ((LM_DEBUG, "NEW MIN_LOAD == %f\n", min_load)); } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) + catch (const CosLoadBalancing::LocationNotFound&) { // No load available for the requested location. Try the // next location. } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); } // ACE_DEBUG ((LM_DEBUG, @@ -525,8 +489,7 @@ TAO_LB_LeastLoaded::get_location ( } void -TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) +TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props) { CORBA::Float critical_threshold = TAO_LB::LL_DEFAULT_CRITICAL_THRESHOLD; @@ -545,9 +508,7 @@ TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props "org.omg.CosLoadBalancing.Strategy.LeastLoaded.CriticalThreshold") == 0) { this->extract_float_property (property, - critical_threshold - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + critical_threshold); ct = &property; } @@ -556,52 +517,42 @@ TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props "org.omg.CosLoadBalancing.Strategy.LeastLoaded.RejectThreshold") == 0) { this->extract_float_property (property, - reject_threshold - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + reject_threshold); } else if (ACE_OS::strcmp (property.nam[0].id.in (), "org.omg.CosLoadBalancing.Strategy.LeastLoaded.Tolerance") == 0) { this->extract_float_property (property, - tolerance - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + tolerance); // Valid tolerance values are greater than or equal to one. if (tolerance < 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); + throw PortableGroup::InvalidProperty (property.nam, property.val); } else if (ACE_OS::strcmp (property.nam[0].id.in (), "org.omg.CosLoadBalancing.Strategy.LeastLoaded.Dampening") == 0) { this->extract_float_property (property, - dampening - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + dampening); // Dampening range is [0,1). if (dampening < 0 || dampening >= 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); + throw PortableGroup::InvalidProperty (property.nam, property.val); } else if (ACE_OS::strcmp (property.nam[0].id.in (), "org.omg.CosLoadBalancing.Strategy.LeastLoaded.PerBalanceLoad") == 0) { this->extract_float_property (property, - per_balance_load - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + per_balance_load); } } if (critical_threshold != 0 && reject_threshold != 0 && critical_threshold <= reject_threshold) - ACE_THROW (PortableGroup::InvalidProperty (ct->nam, ct->val)); + throw PortableGroup::InvalidProperty (ct->nam, ct->val); this->properties_ = props; @@ -630,12 +581,10 @@ TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props void TAO_LB_LeastLoaded::extract_float_property ( const PortableGroup::Property & property, - CORBA::Float & value - ACE_ENV_ARG_DECL) + CORBA::Float & value) { if (!(property.val >>= value)) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); + throw PortableGroup::InvalidProperty (property.nam, property.val); } TAO_END_VERSIONED_NAMESPACE_DECL |