Skip to main content

Crate ubiquisync_core

Crate ubiquisync_core 

Source
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.