Skip to main content

hayson_engine/
lib.rs

1//! The storage engine behind [hayson](https://gl.theritual.eu/ritual/hayson) — a document
2//! database on plain text files.
3//!
4//! Start at [`database::Database`], which opens a directory and hands out a [`table::Table`] per
5//! table; [`txn::UnitOfWork`] spans several of them in one commit.
6//!
7//! The modules listed here are the whole public surface, and each one re-exports the names it
8//! means to expose. The layers underneath — the log files, the write queue, the in-memory
9//! registries and the index snapshots — stay private: they are the on-disk and in-RAM mechanics
10//! the layers above own, and a caller reaching them directly would be coupling to a format rather
11//! than to an API.
12
13#![warn(unnameable_types)]
14
15pub mod atomic;
16pub mod buffer;
17pub mod catalog;
18pub mod compaction;
19pub mod crypto;
20pub mod database;
21pub mod errors;
22pub mod lock;
23pub mod query;
24pub mod schema;
25pub mod table;
26pub mod txn;
27
28mod checkpoint;
29mod queue;
30mod registry;
31mod storage;