Exemplo n.º 1
0
        public ClientHelper(string[] replicaAddresses)
        {
            Statistics = new ServerStatistics(replicaAddresses);
            GrayList   = new GrayList(replicaAddresses);

            ServerСount = replicaAddresses.Length;
            enumerator  = GetAddressesEnumerator();
            enumerator.MoveNext();
        }
Exemplo n.º 2
0
        private IEnumerator <string> GetAddressesEnumerator()
        {
            var pointer  = 0;
            var currStat = Statistics.GetSortedAddresses();

            while (true)
            {
                if (pointer == 0)
                {
                    currStat = Statistics.GetSortedAddresses();
                }
                var currAddr = currStat[pointer];
                if (GrayList.IsReady(currAddr))
                {
                    yield return(currAddr);
                }
                pointer = (pointer + 1) % currStat.Length;
            }
        }
Exemplo n.º 3
0
 public void RemoveAddress(string address)
 {
     Statistics.RemoveAddress(address);
     GrayList.Remove(address);
 }