#[non_exhaustive]pub enum LedgerIntegrityError {
Show 19 variants
LimitExceeded {
resource: &'static str,
limit: usize,
},
DuplicateStableKey {
stable_key: StableKey,
},
DuplicateSlot {
slot: MemoryManagerSlot,
},
InvalidRecordGenerationOrder {
stable_key: StableKey,
first_generation: u64,
last_seen_generation: u64,
},
FutureRecordGeneration {
stable_key: StableKey,
generation: u64,
current_generation: u64,
},
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,
},
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,
},
}Expand description
LedgerIntegrityError
Decoded ledger violates structural allocation-history invariants.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
LimitExceeded
Current structural recovery ceiling exceeded.
DuplicateStableKey
Stable key appears in more than one allocation record.
DuplicateSlot
Allocation slot appears in more than one allocation record.
Fields
slot: MemoryManagerSlotDuplicate allocation slot.
InvalidRecordGenerationOrder
Allocation record generation ordering is invalid.
Fields
FutureRecordGeneration
Allocation record points past the current generation.
Fields
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
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.
Trait Implementations§
Source§impl Clone for LedgerIntegrityError
impl Clone for LedgerIntegrityError
Source§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
1.30.0 · 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()