indexmap_store-0.2.0 has been yanked.
Mutable, persistent key-value store backed by an in-memory [IndexMap] and an
append-only write-ahead log on disk.
Design:
- Reads, lookups, and iteration go through the in-memory map — O(1) hashed access while preserving insertion order.
- Every mutation appends one length-prefixed record to a single log file.
Records are written through a [
BufWriter] so bulk writes coalesce into page-sized syscalls. Withsync_on_write = false(the default) the OS page cache absorbs writes; turn it on for fsync-per-op durability. - Recovery reads the log front-to-back, replays records into the map, and truncates a torn tail so a crash mid-record never bricks the store.
- When the log grows past a configurable threshold and accumulates enough dead records (updates/deletes that supersede earlier entries), the store rewrites a minimal snapshot to a temp file and atomically renames it into place.
The store owns the file; concurrent writers are not supported.