Skip to main content

Crate uni_fork

Crate uni_fork 

Source
Expand description

Fork diff/promote engine and background maintenance for uni-db.

This crate holds the reusable logic of the uni-db fork subsystem:

  • types — the public diff/promote value types (ForkDiff, PromotePattern, PromoteReport, …).
  • diffcompute_diff and run_promote, generic over the host traits.
  • hostForkQueryHost / ForkPromoteSink, implemented by uni-db for its Session/Transaction types.
  • maintenance — the TTL sweeper and fork-local index-builder task skeletons, generic over maintenance::ForkMaintenanceHost.

The fork drivers that construct Session/UniInner (fork.rs, fork_schema.rs, the Uni::* fork orchestration) stay in uni-db to avoid a dependency cycle; they delegate to this crate’s engine.

Re-exports§

pub use diff::compute_diff;
pub use diff::run_promote;
pub use host::ForkPromoteSink;
pub use host::ForkQueryHost;
pub use maintenance::ForkMaintenanceHost;
pub use maintenance::spawn_index_builder;
pub use maintenance::spawn_sweeper;
pub use types::DiffEdge;
pub use types::DiffVertex;
pub use types::EdgeDiff;
pub use types::EdgePropertyChange;
pub use types::ForkDiff;
pub use types::PromotePattern;
pub use types::PromoteReport;
pub use types::PropertyChange;
pub use types::VertexDiff;
pub use types::VertexPropertyChange;

Modules§

diff
Fork diff & promote engine (Phase 6+).
host
Host traits that invert the dependency between the fork diff/promote engine and uni-db.
maintenance
Background fork-maintenance tasks: the TTL sweeper (Phase 4a) and the fork-local index builder (Phase 5a-impl Step 7).
types
Phase 6 — Fork diff & promote types.