Trait sc_consensus_epochs::Epoch
source · [−]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.