Trait sc_consensus_epochs::Epoch[][src]

pub trait Epoch {
    type NextEpochDescriptor;
    type Slot: Ord + Copy;
    fn start_slot(&self) -> Self::Slot;
fn end_slot(&self) -> Self::Slot;
fn increment(&self, descriptor: Self::NextEpochDescriptor) -> Self; }

Epoch data, distinguish whether it is genesis or not.

Once an epoch is created, it must have a known start_slot and end_slot, which cannot be changed. Consensus engine may modify any other data in the epoch, if needed.

Associated Types

type NextEpochDescriptor[src]

Descriptor for the next epoch.

type Slot: Ord + Copy[src]

Type of the slot number.

Loading content...

Required methods

fn start_slot(&self) -> Self::Slot[src]

The starting slot of the epoch.

fn end_slot(&self) -> Self::Slot[src]

Produce the "end slot" of the epoch. This is NOT inclusive to the epoch, i.e. the slots covered by the epoch are self.start_slot() .. self.end_slot().

fn increment(&self, descriptor: Self::NextEpochDescriptor) -> Self[src]

Increment the epoch data, using the next epoch descriptor.

Loading content...

Implementors

Loading content...