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; }
Expand description
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
Descriptor for the next epoch.
Required methods
fn start_slot(&self) -> Self::Slot
fn start_slot(&self) -> Self::Slot
The starting slot of the epoch.
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
fn increment(&self, descriptor: Self::NextEpochDescriptor) -> Self
Increment the epoch data, using the next epoch descriptor.