stateset_sync/lib.rs
1#![deny(unsafe_code)]
2#![doc = include_str!("../README.md")]
3//!
4//! ## Modules
5//!
6//! - [`event`] -- The [`SyncEvent`] type representing state changes
7//! - [`outbox`] -- Append-only event [`Outbox`] for recording local events
8//! - [`buffer`] -- Bounded FIFO [`EventBuffer`] for pulled events
9//! - [`conflict`] -- [`ConflictResolver`] with pluggable strategies
10//! - [`transport`] -- Async [`Transport`] trait for push/pull
11//! - [`engine`] -- The main [`SyncEngine`] orchestrator
12//! - [`config`] -- [`SyncConfig`] for engine configuration
13//! - [`state`] -- [`SyncState`] and [`SyncStatus`] types
14//! - [`error`] -- [`SyncError`] error type
15
16pub mod buffer;
17pub mod config;
18pub mod conflict;
19pub mod engine;
20pub mod error;
21pub mod event;
22pub mod outbox;
23pub mod state;
24pub mod transport;
25
26// Re-exports for convenience
27pub use buffer::EventBuffer;
28pub use config::SyncConfig;
29pub use conflict::{ConflictResolver, ConflictStrategy, Resolution};
30pub use engine::SyncEngine;
31pub use error::SyncError;
32pub use event::SyncEvent;
33pub use outbox::Outbox;
34pub use state::{SyncState, SyncStatus};
35pub use transport::{NullTransport, PullPage, PullResult, PushResult, Transport};