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
Auto Trait Implementations§
impl Freeze for BankForks
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more