Struct solana_sdk::sysvar::epoch_schedule::EpochSchedule
source · pub struct EpochSchedule {
pub slots_per_epoch: u64,
pub leader_schedule_slot_offset: u64,
pub warmup: bool,
pub first_normal_epoch: u64,
pub first_normal_slot: u64,
}
Fields§
§slots_per_epoch: u64
The maximum number of slots in each epoch.
leader_schedule_slot_offset: u64
A number of slots before beginning of an epoch to calculate a leader schedule for that epoch
warmup: bool
whether epochs start short and grow
first_normal_epoch: u64
basically: log2(slots_per_epoch) - log2(MINIMUM_SLOTS_PER_EPOCH)
first_normal_slot: u64
basically: MINIMUM_SLOTS_PER_EPOCH * (2.pow(first_normal_epoch) - 1)
Implementations§
source§impl EpochSchedule
impl EpochSchedule
pub fn new(slots_per_epoch: u64) -> EpochSchedule
pub fn without_warmup() -> EpochSchedule
pub fn custom( slots_per_epoch: u64, leader_schedule_slot_offset: u64, warmup: bool ) -> EpochSchedule
sourcepub fn get_slots_in_epoch(&self, epoch: u64) -> u64
pub fn get_slots_in_epoch(&self, epoch: u64) -> u64
get the length of the given epoch (in slots)
sourcepub fn get_leader_schedule_epoch(&self, slot: u64) -> u64
pub fn get_leader_schedule_epoch(&self, slot: u64) -> u64
get the epoch for which the given slot should save off information about stakers
sourcepub fn get_epoch_and_slot_index(&self, slot: u64) -> (u64, u64)
pub fn get_epoch_and_slot_index(&self, slot: u64) -> (u64, u64)
get epoch and offset into the epoch for the given slot
pub fn get_first_slot_in_epoch(&self, epoch: u64) -> u64
pub fn get_last_slot_in_epoch(&self, epoch: u64) -> u64
Trait Implementations§
source§impl AbiExample for EpochSchedule
impl AbiExample for EpochSchedule
fn example() -> EpochSchedule
source§impl Clone for EpochSchedule
impl Clone for EpochSchedule
source§fn clone(&self) -> EpochSchedule
fn clone(&self) -> EpochSchedule
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for EpochSchedule
impl Debug for EpochSchedule
source§impl Default for EpochSchedule
impl Default for EpochSchedule
source§fn default() -> EpochSchedule
fn default() -> EpochSchedule
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for EpochSchedule
impl<'de> Deserialize<'de> for EpochSchedule
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<EpochSchedule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<EpochSchedule, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<EpochSchedule> for EpochSchedule
impl PartialEq<EpochSchedule> for EpochSchedule
source§fn eq(&self, other: &EpochSchedule) -> bool
fn eq(&self, other: &EpochSchedule) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for EpochSchedule
impl Serialize for EpochSchedule
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
source§impl Sysvar for EpochSchedule
impl Sysvar for EpochSchedule
fn get() -> Result<EpochSchedule, ProgramError>
fn size_of() -> usize
source§fn from_account_info(
account_info: &AccountInfo<'_>
) -> Result<Self, ProgramError>
fn from_account_info( account_info: &AccountInfo<'_> ) -> Result<Self, ProgramError>
Deserializes a sysvar from its
AccountInfo
. Read more