diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl new file mode 100644 index 00000000000..dc120b38783 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl @@ -0,0 +1,26 @@ +// -*- C++ -*- +// +// $Id$ + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +ACE_INLINE CORBA::Float +TAO_LB_LoadMinimum::effective_load (CORBA::Float previous_load, + CORBA::Float new_load) +{ + // Apply per-balance load. (Recompute raw load) + previous_load += this->per_balance_load_; + + // Apply dampening. (Recompute new raw load) + CORBA::Float result = + this->dampening_ * previous_load + (1 - this->dampening_) * new_load; + + ACE_ASSERT (this->tolerance_ != 0); + + // Compute the effective load. + result /= this->tolerance_; + + return result; +} + +TAO_END_VERSIONED_NAMESPACE_DECL |