pub struct BankIncrementalSnapshotPersistence {
pub full_slot: Slot,
pub full_hash: Hash,
pub full_capitalization: u64,
pub incremental_hash: Hash,
pub incremental_capitalization: u64,
}
Expand description
Incremental snapshots only calculate their accounts hash based on the account changes WITHIN the incremental slot range. So, we need to keep track of the full snapshot expected accounts hash results. We also need to keep track of the hash and capitalization specific to the incremental snapshot slot range. The capitalization we calculate for the incremental slot will NOT be consistent with the bank’s capitalization. It is not feasible to calculate a capitalization delta that is correct given just incremental slots account data and the full snapshot’s capitalization.
Fields§
§full_slot: Slot
slot of full snapshot
full_hash: Hash
accounts hash from the full snapshot
full_capitalization: u64
capitalization from the full snapshot
incremental_hash: Hash
hash of the accounts in the incremental snapshot slot range, including zero-lamport accounts
incremental_capitalization: u64
capitalization of the accounts in the incremental snapshot slot range
Trait Implementations§
source§impl Clone for BankIncrementalSnapshotPersistence
impl Clone for BankIncrementalSnapshotPersistence
source§fn clone(&self) -> BankIncrementalSnapshotPersistence
fn clone(&self) -> BankIncrementalSnapshotPersistence
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for BankIncrementalSnapshotPersistence
impl Default for BankIncrementalSnapshotPersistence
source§fn default() -> BankIncrementalSnapshotPersistence
fn default() -> BankIncrementalSnapshotPersistence
source§impl<'de> Deserialize<'de> for BankIncrementalSnapshotPersistence
impl<'de> Deserialize<'de> for BankIncrementalSnapshotPersistence
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl PartialEq<BankIncrementalSnapshotPersistence> for BankIncrementalSnapshotPersistence
impl PartialEq<BankIncrementalSnapshotPersistence> for BankIncrementalSnapshotPersistence
source§fn eq(&self, other: &BankIncrementalSnapshotPersistence) -> bool
fn eq(&self, other: &BankIncrementalSnapshotPersistence) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for BankIncrementalSnapshotPersistence
impl StructuralEq for BankIncrementalSnapshotPersistence
impl StructuralPartialEq for BankIncrementalSnapshotPersistence
Auto Trait Implementations§
impl RefUnwindSafe for BankIncrementalSnapshotPersistence
impl Send for BankIncrementalSnapshotPersistence
impl Sync for BankIncrementalSnapshotPersistence
impl Unpin for BankIncrementalSnapshotPersistence
impl UnwindSafe for BankIncrementalSnapshotPersistence
Blanket Implementations§
source§impl<T> AbiEnumVisitor for Twhere
T: Serialize + AbiExample + ?Sized,
impl<T> AbiEnumVisitor for Twhere T: Serialize + AbiExample + ?Sized,
default fn visit_for_abi( &self, digester: &mut AbiDigester ) -> Result<AbiDigester, DigestError>
source§impl<T> AbiEnumVisitor for Twhere
T: Serialize + ?Sized,
impl<T> AbiEnumVisitor for Twhere T: Serialize + ?Sized,
default fn visit_for_abi( &self, _digester: &mut AbiDigester ) -> Result<AbiDigester, DigestError>
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.