[][src]Struct solana_core::consensus::Tower

pub struct Tower { /* fields omitted */ }

Methods

impl Tower[src]

pub fn new(
    node_pubkey: &Pubkey,
    vote_account_pubkey: &Pubkey,
    bank_forks: &BankForks
) -> Self
[src]

pub fn new_with_key(node_pubkey: &Pubkey) -> Self[src]

pub fn collect_vote_lockouts<F>(
    &self,
    bank_slot: u64,
    vote_accounts: F,
    ancestors: &HashMap<Slot, HashSet<u64>>
) -> (HashMap<Slot, StakeLockout>, u64, u128) where
    F: Iterator<Item = (Pubkey, (u64, Account))>, 
[src]

pub fn is_slot_confirmed(
    &self,
    slot: u64,
    lockouts: &HashMap<u64, StakeLockout>,
    total_staked: u64
) -> bool
[src]

pub fn new_vote_from_bank(
    &self,
    bank: &Bank,
    vote_account_pubkey: &Pubkey
) -> (Vote, usize)
[src]

pub fn record_bank_vote(&mut self, vote: Vote) -> Option<Slot>[src]

pub fn record_vote(&mut self, slot: Slot, hash: Hash) -> Option<Slot>[src]

pub fn last_vote(&self) -> Vote[src]

pub fn last_vote_and_timestamp(&mut self) -> Vote[src]

pub fn root(&self) -> Option<Slot>[src]

pub fn is_recent(&self, slot: u64) -> bool[src]

pub fn has_voted(&self, slot: u64) -> bool[src]

pub fn is_locked_out(
    &self,
    slot: Slot,
    ancestors: &HashMap<Slot, HashSet<Slot>>
) -> bool
[src]

pub fn check_vote_stake_threshold(
    &self,
    slot: Slot,
    stake_lockouts: &HashMap<u64, StakeLockout>,
    total_staked: u64
) -> bool
[src]

Trait Implementations

impl Default for Tower[src]

Auto Trait Implementations

impl RefUnwindSafe for Tower

impl Send for Tower

impl Sync for Tower

impl Unpin for Tower

impl UnwindSafe for Tower

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

impl<T> From<T> for T[src]

impl<T> InitializableFromZeroed for T where
    T: Default

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Typeable for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,