Struct solana_runtime::bank_forks::BankForks
source · pub struct BankForks {
pub snapshot_config: Option<SnapshotConfig>,
pub accounts_hash_interval_slots: Slot,
/* private fields */
}
Fields§
§snapshot_config: Option<SnapshotConfig>
§accounts_hash_interval_slots: Slot
Implementations§
source§impl BankForks
impl BankForks
pub fn new_rw_arc(root_bank: Bank) -> Arc<RwLock<Self>>
pub fn banks(&self) -> &HashMap<Slot, BankWithScheduler>
pub fn get_vote_only_mode_signal(&self) -> Arc<AtomicBool>
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
sourcepub fn ancestors(&self) -> HashMap<Slot, HashSet<Slot>>
pub fn ancestors(&self) -> HashMap<Slot, HashSet<Slot>>
Create a map of bank slot id to the set of ancestors for the bank slot.
sourcepub fn descendants(&self) -> HashMap<Slot, HashSet<Slot>>
pub fn descendants(&self) -> HashMap<Slot, HashSet<Slot>>
Create a map of bank slot id to the set of all of its descendants
pub fn frozen_banks(&self) -> HashMap<Slot, Arc<Bank>>
pub fn active_bank_slots(&self) -> Vec<Slot>
pub fn get_with_scheduler(&self, bank_slot: Slot) -> Option<BankWithScheduler>
pub fn get(&self, bank_slot: Slot) -> Option<Arc<Bank>>
pub fn get_with_checked_hash( &self, (bank_slot, expected_hash): (Slot, Hash) ) -> Option<Arc<Bank>>
pub fn bank_hash(&self, slot: Slot) -> Option<Hash>
pub fn root_bank(&self) -> Arc<Bank>
pub fn install_scheduler_pool(&mut self, pool: InstalledSchedulerPoolArc)
pub fn insert(&mut self, bank: Bank) -> BankWithScheduler
pub fn insert_from_ledger(&mut self, bank: Bank) -> BankWithScheduler
pub fn remove(&mut self, slot: Slot) -> Option<Arc<Bank>>
pub fn highest_slot(&self) -> Slot
pub fn working_bank(&self) -> Arc<Bank>
pub fn working_bank_with_scheduler(&self) -> &BankWithScheduler
pub fn prune_program_cache(&self, root: Slot)
pub fn set_root( &mut self, root: Slot, accounts_background_request_sender: &AbsRequestSender, highest_super_majority_root: Option<Slot> ) -> Vec<Arc<Bank>>
pub fn root(&self) -> Slot
sourcepub fn get_atomic_root(&self) -> ReadOnlyAtomicSlot
pub fn get_atomic_root(&self) -> ReadOnlyAtomicSlot
Gets a read-only wrapper to an atomic slot holding the root slot.
pub fn set_snapshot_config(&mut self, snapshot_config: Option<SnapshotConfig>)
pub fn set_accounts_hash_interval_slots(&mut self, accounts_interval_slots: u64)
Trait Implementations§
source§impl ForkGraph for BankForks
impl ForkGraph for BankForks
source§fn relationship(&self, a: Slot, b: Slot) -> BlockRelation
fn relationship(&self, a: Slot, b: Slot) -> BlockRelation
Returns the BlockRelation of A to B
source§fn slot_epoch(&self, slot: Slot) -> Option<Epoch>
fn slot_epoch(&self, slot: Slot) -> Option<Epoch>
Returns the epoch of the given slot
Auto Trait Implementations§
impl !RefUnwindSafe for BankForks
impl Send for BankForks
impl Sync for BankForks
impl Unpin for BankForks
impl !UnwindSafe for BankForks
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more