Skip to main content

link_cli/storage/
mod.rs

1//! Reusable storage layer: traits, a doublets-backed implementation and
2//! advisory locking helpers.
3//!
4//! See [`LinksStorage`] for the abstraction the transactions layer is
5//! written against, and [`DoubletsStorage`] for the file-mapped
6//! `doublets` implementation.
7
8/// The upstream `doublets` decorator layer, re-exported so downstream
9/// crates can stack decorators onto a [`DoubletsStorage`] through
10/// [`DoubletsStorage::map_store`] without depending on `doublets`
11/// directly (and without risking a version mismatch).
12pub use doublets::decorators;
13
14mod decorator_impls;
15mod doublets_storage;
16mod file_mem;
17pub mod lock;
18mod traits;
19
20pub use doublets_storage::{DoubletsStorage, FileMappedUnitStore, ResolvedFileMappedUnitStore};
21pub use file_mem::PersistentFileMapped;
22pub use lock::{lock_file_path, FileLock, LockMode};
23pub use traits::{LinksStorage, LinksStorageRef, StorageRevision};