/// <summary> /// Helper method to retrieve the distance from LoadBalancingPolicy and set it at Host level. /// Once ProfileManager is implemented, this logic will be part of it. /// </summary> internal static HostDistance RetrieveDistance(Host host, ILoadBalancingPolicy lbp) { var distance = lbp.Distance(host); host.SetDistance(distance); return(distance); }
/// <inheritdoc /> HostDistance IInternalCluster.RetrieveAndSetDistance(Host host) { var distance = _loadBalancingPolicies[0].Distance(host); for (var i = 1; i < _loadBalancingPolicies.Count; i++) { var lbp = _loadBalancingPolicies[i]; var lbpDistance = lbp.Distance(host); if (lbpDistance < distance) { distance = lbpDistance; } } host.SetDistance(distance); return(distance); }