public void Modify_should_not_modify_weight_when_is_not_local_dc() { datacenters.GetLocalDatacenter().Returns("dc"); datacenters.GetDatacenterWeak(Arg.Any <string>()).Returns("dc1"); modifier.Modify(new Uri("http://url.com/"), null, null, null, null, ref weight); weight.Should().Be(1.0); }
public void Modify_should_not_modify_weight_when_datacenter_not_found() { datacenters.GetActiveDatacenters().Returns(new HashSet <string> { "dc" }); string result = null; datacenters.GetDatacenterWeak(Arg.Any <string>()).Returns(result); modifier.Modify(new Uri("http://url.com/"), null, null, null, null, ref weight); weight.Should().Be(1.1); }
public void Modify(Uri replica, IList <Uri> allReplicas, IReplicaStorageProvider storageProvider, Request request, RequestParameters parameters, ref double weight) { if (weight < minimumWeightForBoostingProvider()) { return; } var localDatacenter = datacenters.GetLocalDatacenter(); var replicaDatacenter = datacenters.GetDatacenterWeak(replica.Host); if (string.Equals(localDatacenter, replicaDatacenter, StringComparison.OrdinalIgnoreCase)) { weight *= boostMultiplierProvider(); } }
public void Modify(Uri replica, IList <Uri> allReplicas, IReplicaStorageProvider storageProvider, Request request, RequestParameters parameters, ref double weight) { var active = datacenters.GetActiveDatacenters(); if (active.Count == 0) { return; } var replicaDatacenter = datacenters.GetDatacenterWeak(replica.Host); if (replicaDatacenter == null) { return; } if (active.Contains(replicaDatacenter)) { return; } weight = 0; }
public string GetDatacenterWeak(string hostname) => baseDatacenters.GetDatacenterWeak(hostname);