Enum sp_runtime::generic::DigestItemRef
source · [−]pub enum DigestItemRef<'a, Hash: 'a> {
ChangesTrieRoot(&'a Hash),
PreRuntime(&'a ConsensusEngineId, &'a Vec<u8>),
Consensus(&'a ConsensusEngineId, &'a Vec<u8>),
Seal(&'a ConsensusEngineId, &'a Vec<u8>),
ChangesTrieSignal(&'a ChangesTrieSignal),
Other(&'a Vec<u8>),
}
Expand description
A ‘referencing view’ for digest item. Does not own its contents. Used by final runtime implementations for encoding/decoding its log items.
Variants
ChangesTrieRoot(&'a Hash)
Reference to DigestItem::ChangesTrieRoot
.
PreRuntime(&'a ConsensusEngineId, &'a Vec<u8>)
A pre-runtime digest.
These are messages from the consensus engine to the runtime, although the consensus engine can (and should) read them itself to avoid code and state duplication. It is erroneous for a runtime to produce these, but this is not (yet) checked.
Consensus(&'a ConsensusEngineId, &'a Vec<u8>)
A message from the runtime to the consensus engine. This should never be generated by the native code of any consensus engine, but this is not checked (yet).
Seal(&'a ConsensusEngineId, &'a Vec<u8>)
Put a Seal on it. This is only used by native code, and is never seen by runtimes.
ChangesTrieSignal(&'a ChangesTrieSignal)
Digest item that contains signal from changes tries manager to the native code.
Other(&'a Vec<u8>)
Any ‘non-system’ digest item, opaque to the native code.
Implementations
sourceimpl<'a, Hash> DigestItemRef<'a, Hash>
impl<'a, Hash> DigestItemRef<'a, Hash>
sourcepub fn as_changes_trie_root(&self) -> Option<&'a Hash>
pub fn as_changes_trie_root(&self) -> Option<&'a Hash>
Cast this digest item into ChangesTrieRoot
.
sourcepub fn as_pre_runtime(&self) -> Option<(ConsensusEngineId, &'a [u8])>
pub fn as_pre_runtime(&self) -> Option<(ConsensusEngineId, &'a [u8])>
Cast this digest item into PreRuntime
sourcepub fn as_consensus(&self) -> Option<(ConsensusEngineId, &'a [u8])>
pub fn as_consensus(&self) -> Option<(ConsensusEngineId, &'a [u8])>
Cast this digest item into Consensus
sourcepub fn as_changes_trie_signal(&self) -> Option<&'a ChangesTrieSignal>
pub fn as_changes_trie_signal(&self) -> Option<&'a ChangesTrieSignal>
Cast this digest item into ChangesTrieSignal
.
sourcepub fn try_as_raw(&self, id: OpaqueDigestItemId<'_>) -> Option<&'a [u8]>
pub fn try_as_raw(&self, id: OpaqueDigestItemId<'_>) -> Option<&'a [u8]>
Try to match this digest item to the given opaque item identifier; if it matches, then return the opaque data it contains.
sourcepub fn try_to<T: Decode>(&self, id: OpaqueDigestItemId<'_>) -> Option<T>
pub fn try_to<T: Decode>(&self, id: OpaqueDigestItemId<'_>) -> Option<T>
Try to match this digest item to the given opaque item identifier; if it matches, then try to cast to the given data type; if that works, return it.
Trait Implementations
sourceimpl<'a, Hash: Clone + 'a> Clone for DigestItemRef<'a, Hash>
impl<'a, Hash: Clone + 'a> Clone for DigestItemRef<'a, Hash>
sourcefn clone(&self) -> DigestItemRef<'a, Hash>
fn clone(&self) -> DigestItemRef<'a, Hash>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a, Hash: 'a> Debug for DigestItemRef<'a, Hash> where
Hash: Debug,
impl<'a, Hash: 'a> Debug for DigestItemRef<'a, Hash> where
Hash: Debug,
sourceimpl<'a, Hash: Encode> Encode for DigestItemRef<'a, Hash>
impl<'a, Hash: Encode> Encode for DigestItemRef<'a, Hash>
sourcefn encode(&self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn 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.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<'a, Hash: PartialEq + 'a> PartialEq<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>
impl<'a, Hash: PartialEq + 'a> PartialEq<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>
sourcefn eq(&self, other: &DigestItemRef<'a, Hash>) -> bool
fn eq(&self, other: &DigestItemRef<'a, Hash>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DigestItemRef<'a, Hash>) -> bool
fn ne(&self, other: &DigestItemRef<'a, Hash>) -> bool
This method tests for !=
.
impl<'a, Hash: Encode> EncodeLike<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>
impl<'a, Hash: Eq + 'a> Eq for DigestItemRef<'a, Hash>
impl<'a, Hash: 'a> StructuralEq for DigestItemRef<'a, Hash>
impl<'a, Hash: 'a> StructuralPartialEq for DigestItemRef<'a, Hash>
Auto Trait Implementations
impl<'a, Hash> RefUnwindSafe for DigestItemRef<'a, Hash> where
Hash: RefUnwindSafe,
impl<'a, Hash> Send for DigestItemRef<'a, Hash> where
Hash: Sync,
impl<'a, Hash> Sync for DigestItemRef<'a, Hash> where
Hash: Sync,
impl<'a, Hash> Unpin for DigestItemRef<'a, Hash>
impl<'a, Hash> UnwindSafe for DigestItemRef<'a, Hash> where
Hash: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.