Struct solana_runtime::accounts_db::ScanState
source · struct ScanState<'a> {
current_slot: Slot,
accum: BinnedHashData,
bin_calculator: &'a PubkeyBinCalculator24,
bin_range: &'a Range<usize>,
config: &'a CalcAccountsHashConfig<'a>,
mismatch_found: Arc<AtomicU64>,
filler_account_suffix: Option<&'a Pubkey>,
range: usize,
sort_time: Arc<AtomicU64>,
pubkey_to_bin_index: usize,
}
Expand description
state to keep while scanning append vec accounts for hash calculation These would have been captured in a fn from within the scan function. Some of these are constant across all pubkeys, some are constant across a slot. Some could be unique per pubkey.
Fields§
§current_slot: Slot
slot we’re currently scanning
accum: BinnedHashData
accumulated results
bin_calculator: &'a PubkeyBinCalculator24
§bin_range: &'a Range<usize>
§config: &'a CalcAccountsHashConfig<'a>
§mismatch_found: Arc<AtomicU64>
§filler_account_suffix: Option<&'a Pubkey>
§range: usize
§sort_time: Arc<AtomicU64>
§pubkey_to_bin_index: usize
Trait Implementations§
source§impl<'a> AppendVecScan for ScanState<'a>
impl<'a> AppendVecScan for ScanState<'a>
source§fn init_accum(&mut self, count: usize)
fn init_accum(&mut self, count: usize)
initialize accumulator
source§fn found_account(&mut self, loaded_account: &LoadedAccount<'_>)
fn found_account(&mut self, loaded_account: &LoadedAccount<'_>)
found
account
in the append vecsource§fn scanning_complete(self) -> BinnedHashData
fn scanning_complete(self) -> BinnedHashData
scanning is done
fn get_accum(&mut self) -> BinnedHashData
fn set_accum(&mut self, accum: BinnedHashData)
Auto Trait Implementations§
impl<'a> RefUnwindSafe for ScanState<'a>
impl<'a> Send for ScanState<'a>
impl<'a> Sync for ScanState<'a>
impl<'a> Unpin for ScanState<'a>
impl<'a> UnwindSafe for ScanState<'a>
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