[−][src]Struct solana_runtime::accounts_index::AccountsIndex
Fields
account_maps: BTreeMap<Pubkey, (AtomicU64, RwLock<SlotList<T>>)>
roots: HashSet<Slot>
uncleaned_roots: HashSet<Slot>
previous_uncleaned_roots: HashSet<Slot>
Implementations
impl<'a, T: 'a + Clone> AccountsIndex<T>
[src]
pub fn scan_accounts<F>(&self, ancestors: &Ancestors, func: F) where
F: FnMut(&Pubkey, (&T, Slot)),
[src]
F: FnMut(&Pubkey, (&T, Slot)),
call func with every pubkey and index visible from a given set of ancestors
pub fn range_scan_accounts<F, R>(
&self,
ancestors: &Ancestors,
range: R,
func: F
) where
F: FnMut(&Pubkey, (&T, Slot)),
R: RangeBounds<Pubkey>,
[src]
&self,
ancestors: &Ancestors,
range: R,
func: F
) where
F: FnMut(&Pubkey, (&T, Slot)),
R: RangeBounds<Pubkey>,
call func with every pubkey and index visible from a given set of ancestors with range
pub fn would_purge(&self, pubkey: &Pubkey) -> SlotList<T>
[src]
pub fn purge(&self, pubkey: &Pubkey) -> (SlotList<T>, bool)
[src]
pub fn get(
&self,
pubkey: &Pubkey,
ancestors: &Ancestors
) -> Option<(RwLockReadGuard<SlotList<T>>, usize)>
[src]
&self,
pubkey: &Pubkey,
ancestors: &Ancestors
) -> Option<(RwLockReadGuard<SlotList<T>>, usize)>
Get an account
The latest account that appears in ancestors
or roots
is returned.
pub fn get_max_root(roots: &HashSet<Slot>, slice: SlotSlice<T>) -> Slot
[src]
pub fn insert(
&mut self,
slot: Slot,
pubkey: &Pubkey,
account_info: T,
reclaims: &mut SlotList<T>
)
[src]
&mut self,
slot: Slot,
pubkey: &Pubkey,
account_info: T,
reclaims: &mut SlotList<T>
)
pub fn update(
&self,
slot: Slot,
pubkey: &Pubkey,
account_info: T,
reclaims: &mut SlotList<T>
) -> Option<T>
[src]
&self,
slot: Slot,
pubkey: &Pubkey,
account_info: T,
reclaims: &mut SlotList<T>
) -> Option<T>
pub fn unref_from_storage(&self, pubkey: &Pubkey)
[src]
pub fn ref_count_from_storage(&self, pubkey: &Pubkey) -> RefCount
[src]
pub fn clean_rooted_entries(&self, pubkey: &Pubkey, reclaims: &mut SlotList<T>)
[src]
pub fn clean_unrooted_entries_by_slot(
&self,
purge_slot: Slot,
pubkey: &Pubkey,
reclaims: &mut SlotList<T>
)
[src]
&self,
purge_slot: Slot,
pubkey: &Pubkey,
reclaims: &mut SlotList<T>
)
pub fn add_index(&mut self, slot: Slot, pubkey: &Pubkey, account_info: T)
[src]
pub fn can_purge(max_root: Slot, slot: Slot) -> bool
[src]
pub fn is_root(&self, slot: Slot) -> bool
[src]
pub fn add_root(&mut self, slot: Slot)
[src]
pub fn clean_dead_slot(&mut self, slot: Slot)
[src]
Remove the slot when the storage for the slot is freed Accounts no longer reference this slot.
pub fn reset_uncleaned_roots(&mut self) -> HashSet<Slot>
[src]
Trait Implementations
impl<T: Debug> Debug for AccountsIndex<T>
[src]
impl<T: Default> Default for AccountsIndex<T>
[src]
fn default() -> AccountsIndex<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for AccountsIndex<T>
impl<T> Send for AccountsIndex<T> where
T: Send,
T: Send,
impl<T> Sync for AccountsIndex<T> where
T: Send + Sync,
T: Send + Sync,
impl<T> Unpin for AccountsIndex<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for AccountsIndex<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized,
T: InitializableFromZeroed + ?Sized,
fn clear(&mut self)
impl<T> From<T> for T
[src]
impl<T> InitializableFromZeroed for T where
T: Default,
T: Default,
unsafe fn initialize(place: *mut T)
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,