Enum sp_runtime::DigestItem [−][src]
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]
pub 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]
pub fn size_hint(&self) -> usize
[src]
pub fn encode_to<T>(&self, dest: &mut T) where
T: Output,
[src]
T: Output,
pub 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]
pub fn constant_size() -> Option<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,
pub 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> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
pub fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
pub 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> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[src]
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, Global>> 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> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
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> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
pub 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> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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.
pub 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>,
pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,