1#![forbid(unsafe_code)]
2#![deny(rustdoc::broken_intra_doc_links)]
3#![doc = include_str!("../README.md")]
4
5pub mod bootstrap;
27pub mod declaration;
28pub mod diagnostics;
29pub mod generation;
30pub mod key;
31pub mod ledger;
32pub mod physical;
33pub mod policy;
34pub mod schema;
35pub mod session;
36pub mod slot;
37pub mod substrate;
38pub mod validation;
39
40pub use bootstrap::{
41 AllocationBootstrap, BootstrapCommit, BootstrapError, BootstrapReservationError,
42 BootstrapRetirementError,
43};
44pub use declaration::{
45 AllocationDeclaration, DeclarationCollector, DeclarationSnapshot, DeclarationSnapshotError,
46};
47pub use diagnostics::{DiagnosticExport, DiagnosticGeneration, DiagnosticRecord};
48pub use generation::{GenerationCommit, GenerationMutation, StagedGeneration};
49pub use key::{StableKey, StableKeyError};
50pub use ledger::{
51 AllocationHistory, AllocationLedger, AllocationRecord, AllocationReservationError,
52 AllocationRetirement, AllocationRetirementError, AllocationStageError, AllocationState,
53 CURRENT_LEDGER_SCHEMA_VERSION, CURRENT_PHYSICAL_FORMAT_ID, GenerationRecord, LedgerCodec,
54 LedgerCommitError, LedgerCommitStore, LedgerCompatibility, LedgerCompatibilityError,
55 LedgerIntegrityError, SchemaMetadataRecord,
56};
57pub use physical::{
58 AuthoritativeSlot, CommitRecoveryError, CommitSlotDiagnostic, CommitSlotIndex,
59 CommitStoreDiagnostic, CommittedGenerationBytes, DualCommitStore, DualProtectedCommitStore,
60 ProtectedGenerationSlot, select_authoritative_slot,
61};
62pub use policy::{AllocationPolicy, NamespaceAuthority, RangeAuthority};
63pub use schema::{SchemaMetadata, SchemaMetadataError};
64pub use session::{AllocationSession, AllocationSessionError, ValidatedAllocations};
65pub use slot::{
66 AllocationSlot, AllocationSlotDescriptor, IC_MEMORY_AUTHORITY_OWNER,
67 IC_MEMORY_AUTHORITY_PURPOSE, IC_MEMORY_LEDGER_LABEL, IC_MEMORY_LEDGER_STABLE_KEY,
68 IC_MEMORY_STABLE_KEY_PREFIX, MEMORY_MANAGER_DESCRIPTOR_VERSION,
69 MEMORY_MANAGER_GOVERNANCE_MAX_ID, MEMORY_MANAGER_INVALID_ID, MEMORY_MANAGER_LEDGER_ID,
70 MEMORY_MANAGER_MAX_ID, MEMORY_MANAGER_MIN_ID, MEMORY_MANAGER_SUBSTRATE, MemoryManagerIdRange,
71 MemoryManagerRangeError, MemoryManagerSlotError, is_ic_memory_stable_key,
72 memory_manager_governance_range, validate_memory_manager_id,
73};
74pub use substrate::{LedgerAnchor, StorageSubstrate};
75pub use validation::{AllocationValidationError, validate_allocations};