Struct solana_runtime::accounts_index::RootsTracker
source · pub struct RootsTracker {
pub(crate) alive_roots: RollingBitField,
pub(crate) historical_roots: RollingBitField,
uncleaned_roots: HashSet<Slot>,
previous_uncleaned_roots: HashSet<Slot>,
}
Fields§
§alive_roots: RollingBitField
Current roots where appendvecs or write cache has account data. Constructed during load from snapshots. Updated every time we add a new root or clean/shrink an append vec into irrelevancy. Range is approximately the last N slots where N is # slots per epoch.
historical_roots: RollingBitField
Set of roots that are roots now or were roots at one point in time. Range is approximately the last N slots where N is # slots per epoch. A root could remain here if all entries in the append vec at that root are cleaned/shrunk and there are no more entries for that slot. ‘alive_roots’ will no longer contain such roots. This is a superset of ‘alive_roots’
uncleaned_roots: HashSet<Slot>
§previous_uncleaned_roots: HashSet<Slot>
Implementations§
source§impl RootsTracker
impl RootsTracker
Trait Implementations§
source§impl Debug for RootsTracker
impl Debug for RootsTracker
Auto Trait Implementations§
impl RefUnwindSafe for RootsTracker
impl Send for RootsTracker
impl Sync for RootsTracker
impl Unpin for RootsTracker
impl UnwindSafe for RootsTracker
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