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: Instant
The 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