[−][src]Enum sp_runtime::DigestItem
Digest item that is able to encode/decode 'system' digest items and provide opaque access to other items.
Variants
System digest item that contains the root of changes trie at given block. It is created for every block iff runtime supports changes trie creation.
PreRuntime(ConsensusEngineId, 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.
NOTE: the runtime is not allowed to panic or fail in an on_initialize
call if an expected PreRuntime
digest is not present. It is the
responsibility of a external block verifier to check this. Runtime API calls
will initialize the block without pre-runtime digests, so initialization
cannot fail when they are missing.
Consensus(ConsensusEngineId, 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(ConsensusEngineId, Vec<u8>)
Put a Seal on it. This is only used by native code, and is never seen by runtimes.
ChangesTrieSignal(ChangesTrieSignal)
Digest item that contains signal from changes tries manager to the native code.
Some other thing. Unsupported and experimental.
Implementations
impl<Hash> DigestItem<Hash>
[src]
pub fn dref<'a>(&'a self) -> DigestItemRef<'a, Hash>
[src]
Returns a 'referencing view' for this digest item.
pub fn as_changes_trie_root(&self) -> Option<&Hash>
[src]
Returns Some
if the entry is the ChangesTrieRoot
entry.
pub fn as_pre_runtime(&self) -> Option<(ConsensusEngineId, &[u8])>
[src]
Returns Some
if this entry is the PreRuntime
entry.
pub fn as_consensus(&self) -> Option<(ConsensusEngineId, &[u8])>
[src]
Returns Some
if this entry is the Consensus
entry.
pub fn as_seal(&self) -> Option<(ConsensusEngineId, &[u8])>
[src]
Returns Some
if this entry is the Seal
entry.
pub fn as_changes_trie_signal(&self) -> Option<&ChangesTrieSignal>
[src]
Returns Some
if the entry is the ChangesTrieSignal
entry.
pub fn as_other(&self) -> Option<&[u8]>
[src]
Returns Some if self
is a DigestItem::Other
.
pub fn try_as_raw(&self, id: OpaqueDigestItemId<'_>) -> Option<&[u8]>
[src]
Returns the opaque data contained in the item if Some
if this entry has the id given.
pub fn try_to<T: Decode>(&self, id: OpaqueDigestItemId<'_>) -> Option<T>
[src]
Returns the data contained in the item if Some
if this entry has the id given, decoded
to the type provided T
.
Trait Implementations
impl<H: PartialEq + Eq + Debug> CheckEqual for DigestItem<H> where
H: Encode,
[src]
H: Encode,
fn check_equal(&self, other: &Self)
[src]
impl<Hash: Clone> Clone for DigestItem<Hash>
[src]
fn clone(&self) -> DigestItem<Hash>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Hash> Debug for DigestItem<Hash> where
Hash: Debug,
[src]
Hash: Debug,
impl<Hash: Decode> Decode for DigestItem<Hash>
[src]
impl<'a, Hash: Decode> Deserialize<'a> for DigestItem<Hash>
[src]
fn deserialize<D>(de: D) -> Result<Self, D::Error> where
D: Deserializer<'a>,
[src]
D: Deserializer<'a>,
impl<Hash: Encode> Encode for DigestItem<Hash>
[src]
fn encode(&self) -> Vec<u8>
[src]
fn size_hint(&self) -> usize
[src]
fn encode_to<T>(&self, dest: &mut T) where
T: Output,
[src]
T: Output,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
impl<Hash: Encode> EncodeLike<DigestItem<Hash>> for DigestItem<Hash>
[src]
impl<Hash: Eq> Eq for DigestItem<Hash>
[src]
impl<Hash> MallocSizeOf for DigestItem<Hash> where
Hash: MallocSizeOf,
[src]
Hash: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
impl<Hash: PartialEq> PartialEq<DigestItem<Hash>> for DigestItem<Hash>
[src]
fn eq(&self, other: &DigestItem<Hash>) -> bool
[src]
fn ne(&self, other: &DigestItem<Hash>) -> bool
[src]
impl<Hash: Encode> Serialize for DigestItem<Hash>
[src]
impl<Hash> StructuralEq for DigestItem<Hash>
[src]
impl<Hash> StructuralPartialEq for DigestItem<Hash>
[src]
Auto Trait Implementations
impl<Hash> RefUnwindSafe for DigestItem<Hash> where
Hash: RefUnwindSafe,
Hash: RefUnwindSafe,
impl<Hash> Send for DigestItem<Hash> where
Hash: Send,
Hash: Send,
impl<Hash> Sync for DigestItem<Hash> where
Hash: Sync,
Hash: Sync,
impl<Hash> Unpin for DigestItem<Hash> where
Hash: Unpin,
Hash: Unpin,
impl<Hash> UnwindSafe for DigestItem<Hash> where
Hash: UnwindSafe,
Hash: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T, X> Decode for X where
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
[src]
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T, X> Encode for X where
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
[src]
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
fn size_hint(&self) -> usize
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
fn encode(&self) -> Vec<u8>
[src]
fn encode_to<W>(&self, dest: &mut W) where
W: Output,
[src]
W: Output,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
fn malloc_size_of(&self) -> usize
[src]
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeMallocSizeOf for T where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> MaybeSerialize for T where
T: Serialize,
[src]
T: Serialize,
impl<T> MaybeSerializeDeserialize for T where
T: DeserializeOwned + Serialize,
[src]
T: DeserializeOwned + Serialize,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
[src]
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,