1#[cfg(feature = "cloud")]
11mod cloud;
12pub mod conflict;
13#[cfg(feature = "cloud")]
14mod worker;
15
16#[cfg(feature = "cloud")]
17pub use cloud::CloudStorage;
18pub use conflict::{
19 Conflict, ConflictDetector, ConflictInfo, ConflictQueue, ConflictResolver, ConflictType,
20 MergeResult, Resolution, ResolutionStrategy, SyncMemoryVersion, ThreeWayMerge,
21};
22#[cfg(feature = "cloud")]
23pub use worker::{get_sync_status, SyncWorker};
24
25use chrono::{DateTime, Utc};
26
27#[derive(Debug, Clone, Copy, PartialEq, Eq)]
29pub enum SyncDirection {
30 Push,
31 Pull,
32 Bidirectional,
33}
34
35#[derive(Debug, Clone)]
37pub struct SyncEvent {
38 pub direction: SyncDirection,
39 pub started_at: DateTime<Utc>,
40 pub completed_at: Option<DateTime<Utc>>,
41 pub bytes_transferred: u64,
42 pub success: bool,
43 pub error: Option<String>,
44}