Skip to main content

loonfs_core/commit/
mod.rs

1//! Planned commits, from planner output to durable WAL frame.
2//!
3//! A planned commit is validated against a metadata view into a commit plan,
4//! the plan is materialized into WAL deltas, and the result is framed for
5//! publication. Submodules follow that pipeline; `identity` names the
6//! fingerprint that makes reused commit ids safe to compare, and `ops` holds
7//! the inode-level vocabulary path operations compile into.
8
9mod durable_adapter;
10mod frame;
11mod identity;
12mod ir;
13mod materialize;
14mod metadata_overlay;
15mod ops;
16mod plan;
17mod prepared;
18mod publish;
19mod publish_error;
20mod validate;
21mod validate_error;
22
23pub(crate) use self::durable_adapter::wal_payload_from_materialized_commit;
24pub use self::identity::CommitFingerprint;
25pub(crate) use self::ir::CommitIr;
26pub(crate) use self::materialize::{materialize_commit, MaterializedCommit};
27pub use self::materialize::{CommitOpResult, MaterializedCommitDelta};
28pub(crate) use self::ops::{CommitOp, CommitPrecondition, PlannedOp};
29#[cfg(test)]
30pub(crate) use self::plan::CommitValidationContext;
31pub(crate) use self::plan::ValidatedOp;
32pub use self::plan::{CommitPlan, ResolvedBinding};
33pub use self::prepared::CommitPrepareError;
34pub(crate) use self::prepared::PreparedCommit;
35pub(crate) use self::publish::PreparedCommitHeadPublish;
36pub use self::publish::{prepare_commit_head_publish, publish_commit_head};
37pub use self::publish_error::CommitHeadPublishError;
38pub(crate) use self::validate::{
39    allocates_inode, build_commit_plan_for_publish, validate_ops, OpValidationCursor,
40    PublishCommitValidationContext, PublishValidationView,
41};
42pub use self::validate_error::CommitValidationError;