storage-engines 0.1.0

四个教学用 KV 存储引擎(LSM 树 / B+ 树 / Bitcask / 纯内存),共享同一套 MVCC 事务层与统一 trait 门面,可在运行时按名字切换引擎。Four educational key-value storage engines behind one MVCC transaction layer and a runtime-selectable trait facade.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! 四个引擎共享的公共类型与编解码工具。
//!
//! 此前 `ExportRecord` / `SearchQuery` / `KeyMeta` 等类型在四个引擎里各有一份
//! 独立定义,是不同的 nominal type,无法被统一 trait 返回。这里收敛为唯一定义。

pub mod codec;
pub mod kv_snapshot;
pub mod types;

pub use codec::{
    decode_value_meta, key_matches, logical_to_user, now_unix_secs, pack_plain, pack_ttl,
    prefix_upper_bound,
};
pub use types::{
    ExportRecord, IncrError, KeyMatchMode, KeyMeta, SearchPage, SearchQuery, VacuumStats, ValueMeta,
};