Struct solana_sdk::epoch_schedule::EpochSchedule [−][src]
#[repr(C)]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
impl EpochSchedule
[src]
impl EpochSchedule
[src]pub fn new(slots_per_epoch: u64) -> EpochSchedule
[src]
pub fn without_warmup() -> EpochSchedule
[src]
pub fn custom(
slots_per_epoch: u64,
leader_schedule_slot_offset: u64,
warmup: bool
) -> EpochSchedule
[src]
slots_per_epoch: u64,
leader_schedule_slot_offset: u64,
warmup: bool
) -> EpochSchedule
pub fn get_slots_in_epoch(&self, epoch: u64) -> u64
[src]
get the length of the given epoch (in slots)
pub fn get_leader_schedule_epoch(&self, slot: u64) -> u64
[src]
get the epoch for which the given slot should save off information about stakers
pub fn get_epoch(&self, slot: u64) -> u64
[src]
get epoch for the given slot
pub fn get_epoch_and_slot_index(&self, slot: u64) -> (u64, u64)
[src]
get epoch and offset into the epoch for the given slot
pub fn get_first_slot_in_epoch(&self, epoch: u64) -> u64
[src]
pub fn get_last_slot_in_epoch(&self, epoch: u64) -> u64
[src]
Trait Implementations
impl AbiExample for EpochSchedule
[src]
impl AbiExample for EpochSchedule
[src]pub fn example() -> EpochSchedule
[src]
impl Clone for EpochSchedule
[src]
impl Clone for EpochSchedule
[src]pub fn clone(&self) -> EpochSchedule
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for EpochSchedule
[src]
impl Copy for EpochSchedule
[src]impl Default for EpochSchedule
[src]
impl Default for EpochSchedule
[src]pub fn default() -> EpochSchedule
[src]
impl<'de> Deserialize<'de> for EpochSchedule
[src]
impl<'de> Deserialize<'de> for EpochSchedule
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<EpochSchedule, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<EpochSchedule, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl PartialEq<EpochSchedule> for EpochSchedule
[src]
impl PartialEq<EpochSchedule> for EpochSchedule
[src]pub fn eq(&self, other: &EpochSchedule) -> bool
[src]
pub fn ne(&self, other: &EpochSchedule) -> bool
[src]
impl Serialize for EpochSchedule
[src]
impl Serialize for EpochSchedule
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl StructuralPartialEq for EpochSchedule
[src]
impl StructuralPartialEq for EpochSchedule
[src]impl Sysvar for EpochSchedule
[src]
impl Sysvar for EpochSchedule
[src]pub fn get() -> Result<EpochSchedule, ProgramError>
[src]
pub fn size_of() -> usize
[src]
pub fn from_account_info(
account_info: &AccountInfo<'_>
) -> Result<Self, ProgramError>
[src]
account_info: &AccountInfo<'_>
) -> Result<Self, ProgramError>
pub fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()>
[src]
Auto Trait Implementations
impl RefUnwindSafe for EpochSchedule
impl RefUnwindSafe for EpochSchedule
impl Send for EpochSchedule
impl Send for EpochSchedule
impl Sync for EpochSchedule
impl Sync for EpochSchedule
impl Unpin for EpochSchedule
impl Unpin for EpochSchedule
impl UnwindSafe for EpochSchedule
impl UnwindSafe for EpochSchedule
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]pub default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
[src]
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
[src]pub default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T
[src]
impl<T> AbiExample for T
[src]impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,