Expand description
Core protocol types and sync engine for Ubiquisync.
⚠ PRE-ALPHA — WORK IN PROGRESS ⚠
This crate is in active, early development. APIs are incomplete, unproven, and will change without notice. Do not use it in production. Breaking changes may land on any commit.
This crate contains the storage-agnostic, domain-agnostic core of
Ubiquisync: the log entry envelope, opaque UUIDs, the HLC clock, and the
wire codec. It has no database driver dependencies and is generic over the
op vocabulary it carries — data domains such as tables live in companion
crates like ubiquisync-tables, and storage backends in crates such as
ubiquisync-sqlite.
Most applications should depend on the ubiquisync
facade crate rather than this crate directly.
Modules§
- codec
- Byte-level wire codec for log segments.
- event
- In-process fan-out of change events to subscribers, keyed by target.
- hlc
- Hybrid logical clock: the timestamp value type, the pure clock, and the shared persistent service.
- log_
entry - Wire-level log entry: a single op with timestamp and optional server-attested user attribution. This is the unit of encoding/decoding in a segment file.
- store
- The engine’s public API: apply local writes and watch the events they emit.
- sync
- Synchronization traits: the read/write faces of a replica and the cursors they exchange.
- uuid
- The protocol’s UUID representation: 16 raw bytes.