Struct solana_runtime::snapshot_package::AccountsPackage
source · pub struct AccountsPackage {
pub package_kind: AccountsPackageKind,
pub slot: Slot,
pub block_height: Slot,
pub snapshot_storages: Vec<Arc<AccountStorageEntry>>,
pub expected_capitalization: u64,
pub accounts_hash_for_testing: Option<AccountsHash>,
pub accounts: Arc<Accounts>,
pub epoch_schedule: EpochSchedule,
pub rent_collector: RentCollector,
pub snapshot_info: Option<SupplementalSnapshotInfo>,
pub enqueued: Instant,
}Expand description
This struct packages up fields to send from AccountsBackgroundService to AccountsHashVerifier
Fields§
§package_kind: AccountsPackageKind§slot: Slot§block_height: Slot§snapshot_storages: Vec<Arc<AccountStorageEntry>>§expected_capitalization: u64§accounts_hash_for_testing: Option<AccountsHash>§accounts: Arc<Accounts>§epoch_schedule: EpochSchedule§rent_collector: RentCollector§snapshot_info: Option<SupplementalSnapshotInfo>Supplemental information needed for snapshots
enqueued: InstantThe instant this accounts package was send to the queue. Used to track how long accounts packages wait before processing.
Implementations§
source§impl AccountsPackage
impl AccountsPackage
sourcepub fn new_for_snapshot(
package_kind: AccountsPackageKind,
bank: &Bank,
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
status_cache_slot_deltas: Vec<BankSlotDelta>,
accounts_hash_for_testing: Option<AccountsHash>,
) -> Self
pub fn new_for_snapshot( package_kind: AccountsPackageKind, bank: &Bank, snapshot_storages: Vec<Arc<AccountStorageEntry>>, status_cache_slot_deltas: Vec<BankSlotDelta>, accounts_hash_for_testing: Option<AccountsHash>, ) -> Self
Package up bank files, storages, and slot deltas for a snapshot
sourcepub fn new_for_accounts_hash_verifier(
package_kind: AccountsPackageKind,
bank: &Bank,
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
accounts_hash_for_testing: Option<AccountsHash>,
) -> Self
pub fn new_for_accounts_hash_verifier( package_kind: AccountsPackageKind, bank: &Bank, snapshot_storages: Vec<Arc<AccountStorageEntry>>, accounts_hash_for_testing: Option<AccountsHash>, ) -> Self
Package up fields needed to verify an accounts hash
sourcepub fn new_for_epoch_accounts_hash(
package_kind: AccountsPackageKind,
bank: &Bank,
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
accounts_hash_for_testing: Option<AccountsHash>,
) -> Self
pub fn new_for_epoch_accounts_hash( package_kind: AccountsPackageKind, bank: &Bank, snapshot_storages: Vec<Arc<AccountStorageEntry>>, accounts_hash_for_testing: Option<AccountsHash>, ) -> Self
Package up fields needed to compute an EpochAccountsHash
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for AccountsPackage
impl !RefUnwindSafe for AccountsPackage
impl Send for AccountsPackage
impl Sync for AccountsPackage
impl Unpin for AccountsPackage
impl !UnwindSafe for AccountsPackage
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