Struct sp_runtime::generic::Block [−][src]
pub struct Block<Header, Extrinsic: MaybeSerialize> { pub header: Header, pub extrinsics: Vec<Extrinsic>, }
Expand description
Abstraction over a substrate block.
Fields
header: Header
The block header.
extrinsics: Vec<Extrinsic>
The accompanying extrinsics.
Trait Implementations
impl<Header, Extrinsic: MaybeSerialize> Block for Block<Header, Extrinsic> where
Header: HeaderT,
Extrinsic: Member + Codec + Extrinsic + MaybeMallocSizeOf,
impl<Header, Extrinsic: MaybeSerialize> Block for Block<Header, Extrinsic> where
Header: HeaderT,
Extrinsic: Member + Codec + Extrinsic + MaybeMallocSizeOf,
type Extrinsic = Extrinsic
type Extrinsic = Extrinsic
Type for extrinsics.
type Header = Header
type Header = Header
Header type.
Returns a reference to the list of extrinsics.
Split the block into header and list of extrinsics.
Creates new block from header and extrinsics.
Creates an encoded block from the given header
and extrinsics
without requiring the
creation of an instance. Read more
impl<Header, Extrinsic: MaybeSerialize> Decode for Block<Header, Extrinsic> where
Header: Decode,
Header: Decode,
Vec<Extrinsic>: Decode,
Vec<Extrinsic>: Decode,
impl<Header, Extrinsic: MaybeSerialize> Decode for Block<Header, Extrinsic> where
Header: Decode,
Header: Decode,
Vec<Extrinsic>: Decode,
Vec<Extrinsic>: Decode,
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
impl<'de, Header, Extrinsic: MaybeSerialize> Deserialize<'de> for Block<Header, Extrinsic> where
Header: Deserialize<'de>,
Extrinsic: Deserialize<'de>,
impl<'de, Header, Extrinsic: MaybeSerialize> Deserialize<'de> for Block<Header, Extrinsic> where
Header: Deserialize<'de>,
Extrinsic: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<Header, Extrinsic: MaybeSerialize> Encode for Block<Header, Extrinsic> where
Header: Encode,
Header: Encode,
Vec<Extrinsic>: Encode,
Vec<Extrinsic>: Encode,
impl<Header, Extrinsic: MaybeSerialize> Encode for Block<Header, Extrinsic> where
Header: Encode,
Header: Encode,
Vec<Extrinsic>: Encode,
Vec<Extrinsic>: Encode,
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
impl<Header, Extrinsic: MaybeSerialize> MallocSizeOf for Block<Header, Extrinsic> where
Header: MallocSizeOf,
Extrinsic: MallocSizeOf,
impl<Header, Extrinsic: MaybeSerialize> MallocSizeOf for Block<Header, Extrinsic> where
Header: MallocSizeOf,
Extrinsic: MallocSizeOf,
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
If T::size_of
is a constant, consider implementing constant_size
as well. Read more
fn constant_size() -> Option<usize>
fn constant_size() -> Option<usize>
Used to optimize MallocSizeOf
implementation for collections
like Vec
and HashMap
to avoid iterating over them unnecessarily.
The Self: Sized
bound is for object safety. Read more
impl<Header, Extrinsic: MaybeSerialize> EncodeLike<Block<Header, Extrinsic>> for Block<Header, Extrinsic> where
Header: Encode,
Header: Encode,
Vec<Extrinsic>: Encode,
Vec<Extrinsic>: Encode,
Auto Trait Implementations
impl<Header, Extrinsic> RefUnwindSafe for Block<Header, Extrinsic> where
Extrinsic: RefUnwindSafe,
Header: RefUnwindSafe,
impl<Header, Extrinsic> UnwindSafe for Block<Header, Extrinsic> where
Extrinsic: UnwindSafe,
Header: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn malloc_size_of(&self) -> usize
fn malloc_size_of(&self) -> usize
Method to launch a heapsize measurement with a fresh state. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,