- KvEngine::Sqlite slots in; all six kv ops dispatch; the kv cursor body dispatches through a new KvCursor sub-enum behind AnyCursor's one kv arm (the kv-arm-over-multiple-kv-engines design point, recorded) - dual_tier_sqlite_local (kv = sqlite + large = local, the default-build production shape) and kv_only_sqlite constructors — both feature-gated on sqlite (default-on), both taking the threshold and the delete-window delay, fallible where I/O is fallible (Err(Error::Io) per the dual_tier_mem_local pattern) - ensure_gc_schema runs at construction via the engine-neutral KvEngine call (sqlite's body creates gc_window only); the window-delay shipped default is the pinned DEFAULT_DELETE_WINDOW_DELAY (5 min, ADR-008 §2), constructor- tunable, Duration::ZERO legal — the store carries the value for the sweep's durable form to consume - the one-window-host posture recorded in the module doc (the durable window hosts on the kv engine when it is SQL-backed; wave 5's pg-lo dormancy slots in without reshaping) - stale empty-set scaffolding updated to the landed state: the #[allow(unused_variables)] attrs off the KvEngine methods; the scope notes in store.rs, backend.rs, sqlite.rs, gc.rs - constructor unit tests: mode/threshold/window-delay introspection, the GC schema observed in the fresh database (window table present, gc_pins never), kv-only rejection wiring unchanged, and the dual-tier shape round-tripping end-to-end through both tiers Verification: cargo test 62 passed (default; 5 new tests), cargo test --all-features 117, cargo test --features mem 117, --no-default- features --features mem 97; cargo clippy --all-targets -- -D warnings clean (default + all-features); cargo fmt --check clean; cargo doc --no-deps at the pre-existing warning baseline.
35 lines
675 B
Rust
35 lines
675 B
Rust
pub mod backend;
|
|
pub mod dispatch;
|
|
pub mod error;
|
|
pub mod facade;
|
|
pub mod gc;
|
|
pub mod hashing;
|
|
pub mod keys;
|
|
pub mod local;
|
|
pub mod store;
|
|
|
|
pub use dispatch::DEFAULT_DISPATCH_THRESHOLD;
|
|
pub use error::Error;
|
|
pub use facade::{
|
|
Batch, EntryMeta, GcAbortCause, LivenessSource, Pin, PinState, ProtectCallback, Registration,
|
|
SweepReport,
|
|
};
|
|
pub use hashing::{Algorithm, Digest};
|
|
pub use keys::Key;
|
|
pub use store::{Store, StoreMode, DEFAULT_DELETE_WINDOW_DELAY};
|
|
|
|
#[cfg(feature = "mem")]
|
|
pub mod mem;
|
|
|
|
#[cfg(feature = "pg-lo")]
|
|
pub mod pg_lo;
|
|
|
|
#[cfg(feature = "ops")]
|
|
pub mod ops;
|
|
|
|
#[cfg(feature = "postgres")]
|
|
pub mod postgres;
|
|
|
|
#[cfg(feature = "sqlite")]
|
|
pub mod sqlite;
|