[][src]Enum sc_consensus_epochs::ViableEpoch

pub enum ViableEpoch<E, ERef = E> {
    UnimportedGenesis(E),
    Signaled(ERef),
}

The viable epoch under which a block can be verified.

If this is the first non-genesis block in the chain, then it will hold an UnimportedGenesis epoch.

Variants

UnimportedGenesis(E)

Unimported genesis viable epoch data.

Signaled(ERef)

Regular viable epoch data.

Methods

impl<E, ERef> ViableEpoch<E, ERef> where
    E: Epoch + Clone,
    ERef: Borrow<E>, 
[src]

pub fn into_cloned_inner(self) -> E[src]

Extract the underlying epoch, disregarding the fact that a genesis epoch may be unimported.

pub fn into_cloned(self) -> ViableEpoch<E, E>[src]

Get cloned value for the viable epoch.

pub fn increment(
    &self,
    next_descriptor: E::NextEpochDescriptor
) -> IncrementedEpoch<E>
[src]

Increment the epoch, yielding an IncrementedEpoch to be imported into the fork-tree.

Trait Implementations

impl<E, ERef> AsMut<E> for ViableEpoch<E, ERef> where
    ERef: BorrowMut<E>, 
[src]

impl<E, ERef> AsRef<E> for ViableEpoch<E, ERef> where
    ERef: Borrow<E>, 
[src]

Auto Trait Implementations

impl<E, ERef> RefUnwindSafe for ViableEpoch<E, ERef> where
    E: RefUnwindSafe,
    ERef: RefUnwindSafe

impl<E, ERef> Send for ViableEpoch<E, ERef> where
    E: Send,
    ERef: Send

impl<E, ERef> Sync for ViableEpoch<E, ERef> where
    E: Sync,
    ERef: Sync

impl<E, ERef> Unpin for ViableEpoch<E, ERef> where
    E: Unpin,
    ERef: Unpin

impl<E, ERef> UnwindSafe for ViableEpoch<E, ERef> where
    E: UnwindSafe,
    ERef: UnwindSafe

Blanket Implementations

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

impl<T, U> AsByteSlice<T> for U where
    T: ToByteSlice,
    U: AsRef<[T]> + ?Sized

impl<T, U> AsMutByteSlice<T> for U where
    T: ToMutByteSlice,
    U: AsMut<[T]> + ?Sized

impl<U> AsMutSliceOf for U where
    U: AsMut<[u8]> + ?Sized

impl<U> AsSliceOf for U where
    U: AsRef<[u8]> + ?Sized

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> From<T> for T[src]

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

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

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> ProtocolName for T where
    T: AsRef<[u8]>, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToHex for T where
    T: AsRef<[u8]>, 
[src]

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

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

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