cvx_storage/
lib.rs

1//! # `cvx-storage` — Tiered storage architecture for ChronosVector.
2//!
3//! ## Layer 1: In-Memory Store
4//! [`memory::InMemoryStore`] — non-persistent storage for development and testing.
5//!
6//! ## Layer 3: Hot Store (RocksDB)
7//! [`hot::HotStore`] — persistent storage with column families, prefix bloom filters,
8//! and per-CF compression. Requires the `hot-storage` feature flag.
9//!
10//! ## Layer 5: Write-Ahead Log
11//! [`wal`] — Append-only, CRC32-validated log with segment rotation and crash recovery.
12//!
13//! ## Layer 9: Warm Store & Tiered Storage
14//! [`warm::WarmStore`] — File-based partitioned storage. Requires `warm-storage` feature.
15//! [`tiered::TieredStorage`] — Composite router across hot → warm tiers.
16//!
17//! ## Shared
18//! [`keys`] — Big-endian key encoding with sign-bit flip for correct timestamp ordering.
19
20#![deny(unsafe_code)]
21#![warn(missing_docs)]
22
23#[cfg(feature = "cold-storage")]
24pub mod cold;
25#[cfg(feature = "hot-storage")]
26pub mod hot;
27pub mod keys;
28pub mod memory;
29#[cfg(feature = "warm-storage")]
30pub mod tiered;
31pub mod wal;
32#[cfg(feature = "warm-storage")]
33pub mod warm;