コード例 #1
0
        public void CheckInActive()
        {
            var progress = ReplicationProgress.CreateInActive();

            Assert.IsFalse(progress.IsActive);
            Assert.IsFalse(progress.InSync);
        }
コード例 #2
0
 public override int GetHashCode()
 {
     unchecked
     {
         return((ReplicationProgress.GetHashCode() * 397) ^ (CurrentVersionVector != null ? CurrentVersionVector.GetHashCode() : 0));
     }
 }
コード例 #3
0
        private void ValidateResultOn(ReplicationProgress result)
        {
            var data = linkTwo.Database.ListRange(key);

            Assert.AreEqual(1, data.Length);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.IsActive);
            Assert.IsTrue(result.InSync);
        }
コード例 #4
0
        public void CheckActive()
        {
            var progress = ReplicationProgress.CreateActive(master, slaves);

            Assert.IsTrue(progress.IsActive);
            Assert.IsFalse(progress.InSync);
            slaves[0] = master;
            progress  = ReplicationProgress.CreateActive(master, slaves);
            Assert.IsTrue(progress.InSync);
        }
コード例 #5
0
        public void Setup()
        {
            master = new HostStatus(new DnsEndPoint("Test", 1000), 2000);
            slaves = new[]
            {
                new HostStatus(new DnsEndPoint("Test", 1000), 1000)
            };

            instance = ReplicationProgress.CreateActive(
                master,
                slaves);
        }
コード例 #6
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = FromSequenceNr.GetHashCode();
         hashCode = (hashCode * 397) ^ ReplicationProgress.GetHashCode();
         hashCode = (hashCode * 397) ^ (TargetLogId != null ? TargetLogId.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (CurrentSourceVersionVector != null ? CurrentSourceVersionVector.GetHashCode() : 0);
         foreach (var e in Events)
         {
             hashCode = (hashCode * 397) ^ e.GetHashCode();
         }
         return(hashCode);
     }
 }
コード例 #7
0
        public void Track()
        {
            var progress = ReplicationProgress.CreateActive(
                new HostStatus(new DnsEndPoint("Test", 1), 100),
                new HostStatus(new DnsEndPoint("Test", 1), 100));
            var observable = scheduler.CreateHotObservable(
                new Recorded <Notification <ReplicationProgress> >(0, Notification.CreateOnNext(progress)),
                new Recorded <Notification <ReplicationProgress> >(1, Notification.CreateOnNext(progress)),
                new Recorded <Notification <ReplicationProgress> >(TimeSpan.FromSeconds(3).Ticks, Notification.CreateOnNext(progress)));

            instance.Track(observable);
            var oneStep = TimeSpan.FromSeconds(1).Ticks;

            scheduler.AdvanceBy(oneStep + 1);
            Assert.AreEqual(1, messages.Count);
            scheduler.AdvanceBy(oneStep);
            Assert.AreEqual(1, messages.Count);
            scheduler.AdvanceBy(oneStep * 2);
            Assert.AreEqual(2, messages.Count);
        }
コード例 #8
0
 public void CheckActiveArguments()
 {
     Assert.Throws <ArgumentNullException>(() => ReplicationProgress.CreateActive(null, slaves));
     Assert.Throws <ArgumentNullException>(() => ReplicationProgress.CreateActive(master, null));
     Assert.Throws <ArgumentException>(() => ReplicationProgress.CreateActive(master));
 }