pub struct IntermediateShardBlocksInfo<'a> { /* private fields */ }Expand description
Information about a collection of intermediate shard blocks
Implementations§
Source§impl<'a> IntermediateShardBlocksInfo<'a>
impl<'a> IntermediateShardBlocksInfo<'a>
Sourcepub fn try_from_bytes(bytes: &'a [u8]) -> Option<(Self, &'a [u8])>
pub fn try_from_bytes(bytes: &'a [u8]) -> Option<(Self, &'a [u8])>
Create an instance from provided bytes.
bytes do not need to be aligned, but padding in the layout depends on their address and
must be present in full.
Blocks must be ordered by shard index, and blocks of the same shard by block number and by local segment index of own segments. Leaf shards with segments in a block must be children of its shard, ordered by shard index, and segments of the same leaf shard by local segment index. The body root of each block must match its header.
Returns an instance and remaining bytes on success.
Sourcepub fn iter(
&self,
) -> impl ExactSizeIterator<Item = IntermediateShardBlockInfo<'a>> + TrustedLen + use<'a>
pub fn iter( &self, ) -> impl ExactSizeIterator<Item = IntermediateShardBlockInfo<'a>> + TrustedLen + use<'a>
Iterator over intermediate shard blocks in a collection
Sourcepub fn segments_root(&self) -> Blake3Hash
pub fn segments_root(&self) -> Blake3Hash
Compute the root of segments of the intermediate shard blocks info.
Returns the default value for an empty collection of shard blocks.
Sourcepub fn headers_root(&self) -> Blake3Hash
pub fn headers_root(&self) -> Blake3Hash
Compute the root of child block roots, which the header stores.
Returns the default value for an empty collection of shard blocks.
Trait Implementations§
Source§impl<'a> Clone for IntermediateShardBlocksInfo<'a>
impl<'a> Clone for IntermediateShardBlocksInfo<'a>
impl<'a> Copy for IntermediateShardBlocksInfo<'a>
Auto Trait Implementations§
impl<'a> Forget for IntermediateShardBlocksInfo<'a>
impl<'a> Freeze for IntermediateShardBlocksInfo<'a>
impl<'a> RefUnwindSafe for IntermediateShardBlocksInfo<'a>
impl<'a> Send for IntermediateShardBlocksInfo<'a>
impl<'a> Sync for IntermediateShardBlocksInfo<'a>
impl<'a> Unpin for IntermediateShardBlocksInfo<'a>
impl<'a> UnsafeUnpin for IntermediateShardBlocksInfo<'a>
impl<'a> UnwindSafe for IntermediateShardBlocksInfo<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more