Enum sp_finality_grandpa::ConsensusLog [−][src]
pub enum ConsensusLog<N: Codec> { ScheduledChange(ScheduledChange<N>), ForcedChange(N, ScheduledChange<N>), OnDisabled(AuthorityIndex), Pause(N), Resume(N), }
Expand description
An consensus log item for GRANDPA.
Variants
ScheduledChange(ScheduledChange<N>)
Schedule an authority set change.
The earliest digest of this type in a single block will be respected,
provided that there is no ForcedChange
digest. If there is, then the
ForcedChange
will take precedence.
No change should be scheduled if one is already and the delay has not passed completely.
This should be a pure function: i.e. as long as the runtime can interpret the digest type it should return the same result regardless of the current state.
ForcedChange(N, ScheduledChange<N>)
Force an authority set change.
Forced changes are applied after a delay of imported blocks, while pending changes are applied after a delay of finalized blocks.
The earliest digest of this type in a single block will be respected, with others ignored.
No change should be scheduled if one is already and the delay has not passed completely.
This should be a pure function: i.e. as long as the runtime can interpret the digest type it should return the same result regardless of the current state.
OnDisabled(AuthorityIndex)
Note that the authority with given index is disabled until the next change.
A signal to pause the current authority set after the given delay. After finalizing the block at delay the authorities should stop voting.
A signal to resume the current authority set after the given delay. After authoring the block at delay the authorities should resume voting.
Implementations
Try to cast the log entry as a contained signal.
Try to cast the log entry as a contained forced signal.
Try to cast the log entry as a contained pause signal.
Try to cast the log entry as a contained resume signal.
Trait Implementations
impl<N: Codec> Decode for ConsensusLog<N> where
ScheduledChange<N>: Decode,
ScheduledChange<N>: Decode,
N: Decode,
N: Decode,
ScheduledChange<N>: Decode,
ScheduledChange<N>: Decode,
N: Decode,
N: Decode,
N: Decode,
N: Decode,
impl<N: Codec> Decode for ConsensusLog<N> where
ScheduledChange<N>: Decode,
ScheduledChange<N>: Decode,
N: Decode,
N: Decode,
ScheduledChange<N>: Decode,
ScheduledChange<N>: Decode,
N: Decode,
N: Decode,
N: Decode,
N: 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<N: Codec> Encode for ConsensusLog<N> where
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
N: Encode,
N: Encode,
impl<N: Codec> Encode for ConsensusLog<N> where
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
N: Encode,
N: 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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<N: Codec> EncodeLike<ConsensusLog<N>> for ConsensusLog<N> where
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
ScheduledChange<N>: Encode,
ScheduledChange<N>: Encode,
N: Encode,
N: Encode,
N: Encode,
N: Encode,
Auto Trait Implementations
impl<N> RefUnwindSafe for ConsensusLog<N> where
N: RefUnwindSafe,
impl<N> Send for ConsensusLog<N> where
N: Send,
impl<N> Sync for ConsensusLog<N> where
N: Sync,
impl<N> Unpin for ConsensusLog<N> where
N: Unpin,
impl<N> UnwindSafe for ConsensusLog<N> where
N: 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,
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
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,