Skip to main content

sapphire_framework_sync/
lib.rs

1//! Transport-agnostic replication core for sapphire-framework workspaces.
2//!
3//! See `docs/superpowers/specs/2026-09-15-p2p-sync-iroh-design.md`, section 2.
4
5mod entry;
6mod error;
7mod filter;
8mod hash;
9mod hlc;
10mod id;
11mod merge;
12pub mod paths;
13mod replica;
14mod report;
15mod state;
16mod store;
17#[cfg(any(test, feature = "test-util"))]
18pub mod testing;
19mod vv;
20
21pub use entry::{Content, Entry, PathUpdate};
22pub use error::{Error, Result};
23pub use filter::{IGNORE_FILE, SyncFilter};
24pub use hash::{ContentHash, ParseHashError};
25pub use hlc::{Clock, Hlc, MAX_DRIFT_MS, SystemClock};
26pub use id::ReplicaId;
27pub use merge::{conflict_path, join, needs_copy, winner};
28pub use replica::{ContentSource, DEFAULT_MAX_FILE_SIZE, Replica, ReplicaConfig};
29pub use report::{Conflict, PauseReason, Report, ScanOutcome, SkipReason, Skipped};
30pub use state::{DiskState, PathState};
31pub use store::{FORMAT_VERSION, Meta, ReplicaStore};
32pub use vv::{Dot, VersionVector};