Enum sp_runtime::generic::DigestItemRef[][src]

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>),
}

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

impl<'a, Hash> DigestItemRef<'a, Hash>[src]

pub fn as_changes_trie_root(&self) -> Option<&'a Hash>[src]

Cast this digest item into ChangesTrieRoot.

pub fn as_pre_runtime(&self) -> Option<(ConsensusEngineId, &'a [u8])>[src]

Cast this digest item into PreRuntime

pub fn as_consensus(&self) -> Option<(ConsensusEngineId, &'a [u8])>[src]

Cast this digest item into Consensus

pub fn as_seal(&self) -> Option<(ConsensusEngineId, &'a [u8])>[src]

Cast this digest item into Seal

pub fn as_changes_trie_signal(&self) -> Option<&'a ChangesTrieSignal>[src]

Cast this digest item into ChangesTrieSignal.

pub fn as_other(&self) -> Option<&'a [u8]>[src]

Cast this digest item into PreRuntime

pub fn try_as_raw(&self, id: OpaqueDigestItemId<'_>) -> Option<&'a [u8]>[src]

Try to match this digest item to the given opaque item identifier; if it matches, then return the opaque data it contains.

pub fn try_to<T: Decode>(&self, id: OpaqueDigestItemId<'_>) -> Option<T>[src]

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

impl<'a, Hash: Clone + 'a> Clone for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: 'a> Debug for DigestItemRef<'a, Hash> where
    Hash: Debug
[src]

impl<'a, Hash: Encode> Encode for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: Encode> EncodeLike<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: Eq + 'a> Eq for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: PartialEq + 'a> PartialEq<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: 'a> StructuralEq for DigestItemRef<'a, Hash>[src]

impl<'a, Hash: 'a> StructuralPartialEq for DigestItemRef<'a, Hash>[src]

Auto Trait Implementations

impl<'a, Hash> RefUnwindSafe for DigestItemRef<'a, Hash> where
    Hash: RefUnwindSafe
[src]

impl<'a, Hash> Send for DigestItemRef<'a, Hash> where
    Hash: Sync
[src]

impl<'a, Hash> Sync for DigestItemRef<'a, Hash> where
    Hash: Sync
[src]

impl<'a, Hash> Unpin for DigestItemRef<'a, Hash>[src]

impl<'a, Hash> UnwindSafe for DigestItemRef<'a, Hash> where
    Hash: RefUnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,