pub struct LeafShardBlock<'a> {
pub header: LeafShardHeader<'a>,
pub body: LeafShardBody<'a>,
}Expand description
Block that corresponds to a leaf shard.
Fields can’t be modified after creation, so that the header always corresponds to the body, which constructors ensure.
Fields§
§header: LeafShardHeader<'a>Block header
body: LeafShardBody<'a>Block body
Implementations§
Source§impl<'a> LeafShardBlock<'a>
impl<'a> LeafShardBlock<'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])>
Try to create a new instance from provided bytes for provided shard index.
bytes should be 16-bytes aligned.
Checks internal consistency of header, body, and block, but no consensus verification is done.
Returns an instance and remaining bytes on success, None if too few bytes were given,
bytes are not properly aligned or input is otherwise invalid.
Sourcepub fn to_owned(self) -> OwnedLeafShardBlock
pub fn to_owned(self) -> OwnedLeafShardBlock
Create an owned version of this block
Trait Implementations§
Source§impl<'a> Clone for LeafShardBlock<'a>
impl<'a> Clone for LeafShardBlock<'a>
Source§impl<'a> Debug for LeafShardBlock<'a>
impl<'a> Debug for LeafShardBlock<'a>
Source§impl<'a> From<LeafShardBlock<'a>> for Block<'a>
impl<'a> From<LeafShardBlock<'a>> for Block<'a>
Source§fn from(value: LeafShardBlock<'a>) -> Self
fn from(value: LeafShardBlock<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> GenericBlock<'a> for LeafShardBlock<'a>
impl<'a> GenericBlock<'a> for LeafShardBlock<'a>
Source§const SHARD_KIND: RealShardKind = RealShardKind::LeafShard
const SHARD_KIND: RealShardKind = RealShardKind::LeafShard
Shard kind
Source§type Header = LeafShardHeader<'a>
type Header = LeafShardHeader<'a>
Block header type
Source§type Body = LeafShardBody<'a>
type Body = LeafShardBody<'a>
Block body type
Source§type Owned = OwnedLeafShardBlock
type Owned = OwnedLeafShardBlock
Owned block
Auto Trait Implementations§
impl<'a> !Freeze for LeafShardBlock<'a>
impl<'a> Forget for LeafShardBlock<'a>
impl<'a> RefUnwindSafe for LeafShardBlock<'a>
impl<'a> Send for LeafShardBlock<'a>
impl<'a> Sync for LeafShardBlock<'a>
impl<'a> Unpin for LeafShardBlock<'a>
impl<'a> UnsafeUnpin for LeafShardBlock<'a>
impl<'a> UnwindSafe for LeafShardBlock<'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