/// <summary>
 /// Initializes a new default configuration.
 /// </summary>
 public ClusterMemberConfiguration()
 {
     electionTimeout    = ElectionTimeout.Recommended;
     HeartbeatThreshold = 0.5D;
     Metadata           = new Dictionary <string, string>();
     AllowedNetworks    = new HashSet <IPNetwork>();
 }
示例#2
0
        public static void RandomTimeout()
        {
            var timeout = new ElectionTimeout(10, 20);

            Equal(10, timeout.LowerValue);
            Equal(20, timeout.UpperValue);
            True(timeout.RandomTimeout().Between(10, 20, BoundType.Closed));
        }
示例#3
0
 private protected NodeConfiguration(IPEndPoint hostAddress)
 {
     electionTimeout        = Raft.ElectionTimeout.Recommended;
     heartbeatThreshold     = 0.5D;
     Metadata               = new Dictionary <string, string>();
     Members                = new HashSet <IPEndPoint>();
     HostEndPoint           = hostAddress;
     applicationIdGenerator = new Random().Next <long>;
     TimeToLive             = 64;
 }
示例#4
0
        public static void UpdateBoundaries()
        {
            var timeout = new ElectionTimeout(10, 20);

            timeout.Update(null, null);
            Equal(10, timeout.LowerValue);
            Equal(20, timeout.UpperValue);
            timeout.Update(15, null);
            Equal(15, timeout.LowerValue);
            Equal(20, timeout.UpperValue);
            timeout.Update(null, 30);
            Equal(15, timeout.LowerValue);
            Equal(30, timeout.UpperValue);
            timeout.Update(50, 60);
            Equal(50, timeout.LowerValue);
            Equal(60, timeout.UpperValue);
        }
示例#5
0
 internal static void Modify(ref ElectionTimeout timeout, int lowerValue, int upperValue)
 => timeout = new ElectionTimeout(lowerValue, upperValue);