chronix_engine/memtable/mod.rs
1//! # chronix-memtable
2//!
3//! High-performance concurrent memtable for the Chronix time-series database.
4//!
5//! This crate provides the in-memory write buffer that sits between the WAL
6//! and on-disk segment files. Points are inserted into a lock-free concurrent
7//! skip list and can be scanned in sorted order. When the memtable reaches a
8//! configurable size threshold, it is frozen and flushed to a columnar segment
9//! file via [`crate::segment::SegmentWriter`].
10//!
11//! # Architecture
12//!
13//! - **[`Memtable`]** — Concurrent skip-list-backed write buffer
14//! - **[`FlushController`]** — Freeze-and-swap lifecycle management
15//! - **[`ShardRouter`]** — Time-shard routing for out-of-order writes
16
17#![warn(missing_docs)]
18#![deny(unsafe_code)]
19
20pub mod error;
21pub mod flush;
22pub mod interner;
23pub mod key;
24#[allow(clippy::module_inception)]
25pub mod memtable;
26pub mod shard;
27
28pub use error::MemtableError;
29pub use flush::{FlushConfig, FlushController, FlushResult};
30pub use interner::StringInterner;
31pub use key::{MemtableEntry, MemtableKey};
32pub use memtable::Memtable;
33pub use shard::{ShardRouter, ShardRouterConfig};