Skip to main content

stateset_sync/
lib.rs

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