#[non_exhaustive]pub enum LedgerIntegrityError {
Show 24 variants
InvalidStableKey(StableKeyError),
InvalidSlotDescriptor(MemoryManagerSlotError),
DuplicateStableKey {
stable_key: StableKey,
},
DuplicateSlot {
slot: Box<AllocationSlotDescriptor>,
},
InvalidRecordGenerationOrder {
stable_key: StableKey,
first_generation: u64,
last_seen_generation: u64,
},
FutureRecordGeneration {
stable_key: StableKey,
generation: u64,
current_generation: u64,
},
UnexpectedRetiredGeneration {
stable_key: StableKey,
},
MissingRetiredGeneration {
stable_key: StableKey,
},
RetiredBeforeFirstGeneration {
stable_key: StableKey,
first_generation: u64,
retired_generation: u64,
},
RetirementNotAfterLastSeen {
stable_key: StableKey,
last_seen_generation: u64,
retired_generation: u64,
},
EmptySchemaHistory {
stable_key: StableKey,
},
SchemaHistoryStartMismatch {
stable_key: StableKey,
first_generation: u64,
schema_generation: u64,
},
NonIncreasingSchemaHistory {
stable_key: StableKey,
},
SchemaHistoryOutOfBounds {
stable_key: StableKey,
generation: u64,
},
SchemaHistoryAfterLastSeen {
stable_key: StableKey,
generation: u64,
last_seen_generation: u64,
},
InvalidSchemaMetadata {
stable_key: StableKey,
generation: u64,
error: SchemaMetadataError,
},
DuplicateGeneration {
generation: u64,
},
FutureGeneration {
generation: u64,
current_generation: u64,
},
InvalidParentGeneration {
generation: u64,
parent_generation: u64,
},
MissingCurrentGenerationRecord {
current_generation: u64,
},
NonIncreasingGenerationRecords {
generation: u64,
},
BrokenGenerationChain {
generation: u64,
expected_parent: u64,
actual_parent: u64,
},
UnknownRecordGeneration {
stable_key: StableKey,
generation: u64,
},
DiagnosticMetadata(DeclarationSnapshotError),
}Expand description
LedgerIntegrityError
Decoded ledger violates structural allocation-history invariants.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidStableKey(StableKeyError)
Stable-key grammar was invalid after durable decode.
InvalidSlotDescriptor(MemoryManagerSlotError)
Allocation slot descriptor was invalid after durable decode.
DuplicateStableKey
Stable key appears in more than one allocation record.
DuplicateSlot
Allocation slot appears in more than one allocation record.
Fields
slot: Box<AllocationSlotDescriptor>Duplicate allocation slot.
InvalidRecordGenerationOrder
Allocation record generation ordering is invalid.
Fields
FutureRecordGeneration
Allocation record points past the current generation.
Fields
UnexpectedRetiredGeneration
Non-retired allocation carries retired metadata.
MissingRetiredGeneration
Retired allocation is missing retired metadata.
RetiredBeforeFirstGeneration
Retired generation predates the allocation record.
Fields
RetirementNotAfterLastSeen
Retirement does not occur after the record’s final observation.
Fields
EmptySchemaHistory
Allocation record has no schema metadata history.
SchemaHistoryStartMismatch
First schema metadata record does not begin with the allocation record.
Fields
NonIncreasingSchemaHistory
Schema metadata generation history is not strictly increasing.
SchemaHistoryOutOfBounds
Schema metadata generation is outside the allocation record lifetime.
Fields
SchemaHistoryAfterLastSeen
Schema metadata was recorded after the allocation was last observed.
Fields
InvalidSchemaMetadata
Schema metadata in committed allocation history is invalid.
Fields
error: SchemaMetadataErrorSchema metadata validation error.
DuplicateGeneration
Generation record appears more than once.
FutureGeneration
Generation record points past the current generation.
InvalidParentGeneration
Generation parent does not precede the child generation.
MissingCurrentGenerationRecord
Current ledger generation has no committed generation record.
NonIncreasingGenerationRecords
Generation records are not strictly increasing in durable order.
BrokenGenerationChain
Generation record parent does not match the previous committed generation.
Fields
UnknownRecordGeneration
Allocation record refers to a generation absent from committed history.
DiagnosticMetadata(DeclarationSnapshotError)
Generation diagnostic metadata is invalid.
Trait Implementations§
Source§impl Clone for LedgerIntegrityError
impl Clone for LedgerIntegrityError
Source§fn clone(&self) -> LedgerIntegrityError
fn clone(&self) -> LedgerIntegrityError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LedgerIntegrityError
impl Debug for LedgerIntegrityError
Source§impl Display for LedgerIntegrityError
impl Display for LedgerIntegrityError
impl Eq for LedgerIntegrityError
Source§impl Error for LedgerIntegrityError
impl Error for LedgerIntegrityError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()