Skip to main content

Crate horon

Crate horon 

Source
Expand description

§Horon

Hierarchical data storage in a single .htt file, with write-ahead logging, zstd compression, and geometric access control.

Horon wraps a deterministic in-memory hyperbolic Store with durable persistence: every mutation is appended to a WAL, snapshots are produced by compaction, and cold start replays the log to reconstruct identical geometric state on any platform (guaranteed by gMath’s deterministic fixed-point arithmetic).

§Quick Start

use horon::Horon;
use g_math::fixed_point::FixedPoint;

// Open or create a .htt file
let htt = Horon::open("data.htt").unwrap();

// Standard Store operations — persisted automatically
htt.put("/config/db", b"postgres://localhost").unwrap();
let data = htt.get("/config/db").unwrap();

// Coordinates and distances are Q64.64 fixed point, never floats, so the
// same query returns bit-identical results on every platform. Conversion
// from a decimal literal is explicit: the lossy step stays visible at the
// call site instead of hiding inside the API.
let origin: Vec<FixedPoint> = (0..4).map(|_| FixedPoint::from_int(0)).collect();
let (path, dist) = htt.nearest(&origin).unwrap();

// Compact WAL into snapshot
htt.compact().unwrap();

Re-exports§

pub use error::HoronError;
pub use error::HoronResult;
pub use gacl::Credentials;
pub use gacl::AccessBand;
pub use gacl::NodeAccessBands;
pub use file::DurabilityMode;
pub use file::HistoryRetention;
pub use file::Horon;
pub use file::HoronConfig;
pub use file::HoronReader;
pub use file::ReaderMode;
pub use file::RefreshOutcome;
pub use file::WalTail;
pub use history::DeltaKind;
pub use history::EpochInfo;
pub use history::HoronHistory;
pub use history::HoronStateView;
pub use history::KeyDelta;
pub use history::StateNode;
pub use quant::SemLayout;
pub use wal::WalEntry;
pub use wal::WalPayload;

Modules§

compression
Compression utilities for .htt format.
error
Error types for Horon operations.
file
Horon — persistent engine Store backed by a .htt file.
format
.htt binary format constants and shared types.
gacl
Geometric Access Control (GACL) — cooperative, coordinate-encoded scoping.
header
.htt file header — 32-byte fixed structure.
hilbert
Hilbert curve mapping for content-addressable chunk storage.
history
Temporal history: sidecar segments + the HoronHistory reader (temporal epochs).
partial
Partial (mmap-backed) snapshot reads — the partial-reads half of meaning-addressed storage.
quant
TQ1.9 quantized semantic tails (docs/QUANTIZED_SEMANTIC.md).
snapshot
Snapshot section — serialization and deserialization of node entries.
wal
Write-Ahead Log — append-only mutation log with per-entry CRC.

Structs§

SemanticDisk
The taxonomy-embedded meaning space (see module docs).
SemanticOutlier
A semantic outlier found by Store::find_outliers: a node whose average distance to its nearest peers is anomalously large relative to the population under the queried prefix.
Store
A simple, ergonomic hierarchical data store backed by Hyperbolic Tree Tensors.

Enums§

StoreError
Simplified error type for Store operations.