Expand description
Persistent allocation-governance primitives for Internet Computer stable memory.
The crate models durable ownership as stable_key -> allocation_slot forever. It intentionally does not own framework namespaces, controller
authorization, endpoint lifecycle, schema migrations, or Canic-specific
memory ID policy.
Re-exports§
pub use bootstrap::AllocationBootstrap;pub use bootstrap::BootstrapCommit;pub use bootstrap::BootstrapError;pub use bootstrap::BootstrapReservationError;pub use bootstrap::BootstrapRetirementError;pub use declaration::AllocationDeclaration;pub use declaration::DeclarationCollector;pub use declaration::DeclarationSnapshot;pub use declaration::DeclarationSnapshotError;pub use diagnostics::DiagnosticExport;pub use diagnostics::DiagnosticGeneration;pub use diagnostics::DiagnosticRecord;pub use generation::GenerationCommit;pub use generation::GenerationMutation;pub use generation::StagedGeneration;pub use key::StableKey;pub use key::StableKeyError;pub use ledger::AllocationHistory;pub use ledger::AllocationLedger;pub use ledger::AllocationRecord;pub use ledger::AllocationReservationError;pub use ledger::AllocationRetirement;pub use ledger::AllocationRetirementError;pub use ledger::AllocationState;pub use ledger::CURRENT_LEDGER_SCHEMA_VERSION;pub use ledger::CURRENT_PHYSICAL_FORMAT_ID;pub use ledger::GenerationRecord;pub use ledger::LedgerCodec;pub use ledger::LedgerCommitError;pub use ledger::LedgerCommitStore;pub use ledger::LedgerCompatibility;pub use ledger::LedgerCompatibilityError;pub use ledger::LedgerIntegrityError;pub use ledger::SchemaMetadataRecord;pub use physical::AuthoritativeSlot;pub use physical::CommitRecoveryError;pub use physical::CommitSlotDiagnostic;pub use physical::CommitSlotIndex;pub use physical::CommitStoreDiagnostic;pub use physical::CommittedGenerationBytes;pub use physical::DualCommitStore;pub use physical::ProtectedGenerationSlot;pub use policy::AllocationPolicy;pub use policy::NamespaceAuthority;pub use policy::RangeAuthority;pub use schema::SchemaMetadata;pub use schema::SchemaMetadataError;pub use session::AllocationSession;pub use session::AllocationSessionError;pub use session::ValidatedAllocations;pub use slot::AllocationSlot;pub use slot::AllocationSlotDescriptor;pub use slot::MEMORY_MANAGER_DESCRIPTOR_VERSION;pub use slot::MEMORY_MANAGER_INVALID_ID;pub use slot::MEMORY_MANAGER_MAX_ID;pub use slot::MEMORY_MANAGER_MIN_ID;pub use slot::MEMORY_MANAGER_SUBSTRATE;pub use slot::MemoryManagerIdRange;pub use slot::MemoryManagerRangeError;pub use slot::MemoryManagerSlotError;pub use slot::validate_memory_manager_id;pub use substrate::LedgerAnchor;pub use substrate::StorageSubstrate;pub use validation::AllocationValidationError;pub use validation::validate_allocations;