pub struct LeafShardBlocksInfo<'a> { /* private fields */ }Expand description
Information about a collection of leaf shard blocks
Implementations§
Source§impl<'a> LeafShardBlocksInfo<'a>
impl<'a> LeafShardBlocksInfo<'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. 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 = LeafShardBlockInfo<'a>> + TrustedLen + use<'a>
pub fn iter( &self, ) -> impl ExactSizeIterator<Item = LeafShardBlockInfo<'a>> + TrustedLen + use<'a>
Iterator over leaf shard blocks in a collection
Sourcepub fn segments_root(&self) -> Blake3Hash
pub fn segments_root(&self) -> Blake3Hash
Compute the root of segments of the leaf 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 LeafShardBlocksInfo<'a>
impl<'a> Clone for LeafShardBlocksInfo<'a>
impl<'a> Copy for LeafShardBlocksInfo<'a>
Auto Trait Implementations§
impl<'a> Forget for LeafShardBlocksInfo<'a>
impl<'a> Freeze for LeafShardBlocksInfo<'a>
impl<'a> RefUnwindSafe for LeafShardBlocksInfo<'a>
impl<'a> Send for LeafShardBlocksInfo<'a>
impl<'a> Sync for LeafShardBlocksInfo<'a>
impl<'a> Unpin for LeafShardBlocksInfo<'a>
impl<'a> UnsafeUnpin for LeafShardBlocksInfo<'a>
impl<'a> UnwindSafe for LeafShardBlocksInfo<'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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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