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);
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
        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);