pub struct IntermediateShardBlock<'a> {
pub header: IntermediateShardHeader<'a>,
pub body: IntermediateShardBody<'a>,
}Expand description
Block that corresponds to an intermediate shard.
Fields can’t be modified after creation, so that the header always corresponds to the body, which constructors ensure.
Fields§
§header: IntermediateShardHeader<'a>Block header
body: IntermediateShardBody<'a>Block body
Implementations§
Source§impl<'a> IntermediateShardBlock<'a>
impl<'a> IntermediateShardBlock<'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) -> OwnedIntermediateShardBlock
pub fn to_owned(self) -> OwnedIntermediateShardBlock
Create an owned version of this block
Trait Implementations§
Source§impl<'a> Clone for IntermediateShardBlock<'a>
impl<'a> Clone for IntermediateShardBlock<'a>
Source§impl<'a> Debug for IntermediateShardBlock<'a>
impl<'a> Debug for IntermediateShardBlock<'a>
Source§impl<'a> From<IntermediateShardBlock<'a>> for Block<'a>
impl<'a> From<IntermediateShardBlock<'a>> for Block<'a>
Source§fn from(value: IntermediateShardBlock<'a>) -> Self
fn from(value: IntermediateShardBlock<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> GenericBlock<'a> for IntermediateShardBlock<'a>
impl<'a> GenericBlock<'a> for IntermediateShardBlock<'a>
Source§const SHARD_KIND: RealShardKind = RealShardKind::IntermediateShard
const SHARD_KIND: RealShardKind = RealShardKind::IntermediateShard
Shard kind
Source§type Header = IntermediateShardHeader<'a>
type Header = IntermediateShardHeader<'a>
Block header type
Source§type Body = IntermediateShardBody<'a>
type Body = IntermediateShardBody<'a>
Block body type
Source§type Owned = OwnedIntermediateShardBlock
type Owned = OwnedIntermediateShardBlock
Owned block
Auto Trait Implementations§
impl<'a> !Freeze for IntermediateShardBlock<'a>
impl<'a> Forget for IntermediateShardBlock<'a>
impl<'a> RefUnwindSafe for IntermediateShardBlock<'a>
impl<'a> Send for IntermediateShardBlock<'a>
impl<'a> Sync for IntermediateShardBlock<'a>
impl<'a> Unpin for IntermediateShardBlock<'a>
impl<'a> UnsafeUnpin for IntermediateShardBlock<'a>
impl<'a> UnwindSafe for IntermediateShardBlock<'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