Skip to main content

coven_foundation/
lib.rs

1//! Foundation: the injectable primitives and value types every other Coven
2//! crate is allowed to name.
3//!
4//! Nothing here knows about protocol state, storage providers, replication, or
5//! the host API — these are clocks, identifier sources, staged file writes,
6//! store directory layout, content hashes, changeset values, and configuration.
7//! The dependency direction of the workspace bottoms out here, so this crate
8//! has no Coven dependencies of its own.
9//!
10//! Modules are public because the crates above address them by module path
11//! (`coven_foundation::clock::Clock`), the same paths they used when these
12//! modules lived inside `coven`. Items that stay inside this crate remain
13//! `pub(crate)` or narrower.
14
15pub mod atomic_file;
16pub mod blocking;
17pub mod bounded_workers;
18pub mod changeset;
19pub mod clock;
20pub mod code_envelope;
21pub mod config;
22pub mod id_provider;
23pub mod local_file;
24pub mod object_hash;
25pub mod stage_timing;
26pub mod store_dir;