1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Storage backends and abstractions.
//!
//! This module provides the storage layer abstraction for Nitrite.
//! The storage system is pluggable, allowing different implementations
//! (in-memory, file-based, etc.).
//!
//! # Storage Providers
//!
//! Storage providers implement `NitriteStoreProvider` and are loaded as plugins.
//! Nitrite includes:
//! - **In-Memory Store**: `InMemoryStoreModule` for testing and temporary data
//! - **Fjall Store**: `nitrite-fjall-adapter` for persistent, LSM-based storage
//!
//! # Key-Value Abstraction
//!
//! The storage layer provides a key-value map interface through `NitriteMapProvider`.
//! Maps support:
//! - Basic operations: get, put, remove
//! - Iteration: keys, values, entries
//! - Metadata: size, attributes
//!
//! # Persistence
//!
//! Storage is abstracted behind the `NitriteStoreProvider` trait, allowing:
//! - Multiple store implementations
//! - Custom storage backends
//! - Testing with in-memory stores
//!
//! # Events
//!
//! The store layer supports event listeners for monitoring store state changes,
//! useful for debugging and metrics collection.
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;