Remove code duplicating stdlib (#1239)

* Get rid of superfluous ReverseBlockRootIterator

* Get rid of superfluous ReverseStateRootIterator and ReverseChainIterator

* cargo fmt
This commit is contained in:
Adam Szkoda
2020-06-02 02:41:42 +02:00
committed by GitHub
parent a214032e1f
commit ce10db15da
3 changed files with 11 additions and 76 deletions

View File

@@ -1,6 +1,6 @@
use crate::chunked_iter::ChunkedVectorIter;
use crate::chunked_vector::BlockRoots;
use crate::iter::{BlockRootsIterator, ReverseBlockRootIterator};
use crate::iter::BlockRootsIterator;
use crate::{HotColdDB, Store};
use slog::error;
use std::sync::Arc;
@@ -65,13 +65,10 @@ impl SimpleForwardsBlockRootsIterator {
end_block_root: Hash256,
) -> Self {
// Iterate backwards from the end state, stopping at the start slot.
let iter = std::iter::once((end_block_root, end_state.slot))
.chain(BlockRootsIterator::owned(store, end_state));
Self {
values: ReverseBlockRootIterator::new(
(end_block_root, end_state.slot),
BlockRootsIterator::owned(store, end_state),
)
.take_while(|(_, slot)| *slot >= start_slot)
.collect(),
values: iter.take_while(|(_, slot)| *slot >= start_slot).collect(),
}
}
}