Esempio n. 1
0
        private static StateSyncItem PushItem(StateSyncFeed.IPendingSyncItems items, NodeDataType nodeDataType, int level, uint rightness, int progress = 0)
        {
            StateSyncItem stateSyncItem1 = new StateSyncItem(Keccak.Zero, nodeDataType, level, rightness);

            items.PushToSelectedStream(stateSyncItem1, progress);
            return(stateSyncItem1);
        }
Esempio n. 2
0
        public void Can_peek_root()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            StateSyncItem stateSyncItem           = new StateSyncItem(Keccak.Zero, NodeDataType.State, 0, 0);

            items.PushToSelectedStream(stateSyncItem, 0);
            items.PeekState().Should().Be(stateSyncItem);
        }
Esempio n. 3
0
        public void Can_recalculate_and_clear_with_root_only()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            StateSyncItem stateSyncItem           = new StateSyncItem(Keccak.Zero, NodeDataType.State, 0, 0);

            items.PushToSelectedStream(stateSyncItem, 0);
            items.RecalculatePriorities();
            items.Clear();
            items.Count.Should().Be(0);
        }
Esempio n. 4
0
        public void Prefers_left_single_branch()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 1, 15); // branch child 16
            PushState(items, 1, 1);  // branch child 1
            PushState(items, 1, 0);  // branch child 0

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            batch[0].Rightness.Should().Be(0);
            batch[1].Rightness.Should().Be(1);
            batch[2].Rightness.Should().Be(15);
        }
Esempio n. 5
0
        public void Prioritizes_depth()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 0, 0);
            PushState(items, 32, 0);
            PushState(items, 64, 0);

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            items.Count.Should().Be(0);
            batch[0].Level.Should().Be(64);
            batch[1].Level.Should().Be(32);
            batch[2].Level.Should().Be(0);
        }
Esempio n. 6
0
        public void Prioritizes_code_over_storage_over_state()
        {
            StateSyncFeed.IPendingSyncItems items = Init();
            items.MaxStateLevel = 64;

            PushState(items, 64, 0);
            PushStorage(items, 32, 0);
            PushCode(items);

            items.RecalculatePriorities();
            List <StateSyncItem> batch = items.TakeBatch(256);

            items.Count.Should().Be(0);
            batch[0].NodeDataType.Should().Be(NodeDataType.Code);
            batch[1].NodeDataType.Should().Be(NodeDataType.Storage);
            batch[2].NodeDataType.Should().Be(NodeDataType.State);
        }
Esempio n. 7
0
 public void Can_clear_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.Clear();
 }
Esempio n. 8
0
 public void Peek_state_is_null_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.PeekState().Should().Be(null);
 }
Esempio n. 9
0
 public void Can_recalculate_priorities_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.RecalculatePriorities().Should().NotBeNullOrWhiteSpace();
 }
Esempio n. 10
0
 public void Max_levels_should_be_zero_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.MaxStateLevel.Should().Be(0);
     items.MaxStorageLevel.Should().Be(0);
 }
Esempio n. 11
0
 public void Description_does_not_throw_at_start()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.Description.Should().NotBeNullOrWhiteSpace();
 }
Esempio n. 12
0
 public void At_start_count_is_zero()
 {
     StateSyncFeed.IPendingSyncItems items = Init();
     items.Count.Should().Be(0);
 }
Esempio n. 13
0
 private static StateSyncItem PushState(StateSyncFeed.IPendingSyncItems items, int level, uint rightness, int progress = 0)
 {
     return(PushItem(items, NodeDataType.State, level, rightness, progress));
 }
Esempio n. 14
0
 private static StateSyncItem PushCode(StateSyncFeed.IPendingSyncItems items, int progress = 0)
 {
     return(PushItem(items, NodeDataType.Code, 0, 0, progress));
 }