Expand description
Multi-device synchronization for OxiGDAL
This crate provides advanced synchronization capabilities for distributed geospatial data management, including:
- CRDTs (Conflict-free Replicated Data Types): LWW-Register, G-Counter, PN-Counter, OR-Set for conflict-free distributed state
- Vector Clocks: Causality tracking for distributed events
- Operational Transformation: Concurrent edit reconciliation
- Multi-device Coordination: Device discovery and state management
- Merkle Trees: Efficient change detection and synchronization
- Delta Encoding: Bandwidth-efficient state transfer
§Example
use oxigdal_sync::crdt::LwwRegister;
use oxigdal_sync::vector_clock::VectorClock;
// Create a Last-Write-Wins register with vector clock
let mut register = LwwRegister::new("device-1".to_string(), "initial".to_string());
// Update with causality tracking
register.set("updated".to_string());Re-exports§
pub use error::SyncError;pub use error::SyncResult;
Modules§
- coordinator
- Multi-device coordination and state management
- crdt
- Conflict-free Replicated Data Types (CRDTs)
- delta
- Delta encoding for bandwidth-efficient synchronization
- error
- Error types for synchronization operations
- merkle
- Merkle tree implementation for efficient change detection
- ot
- Operational Transformation (OT)
- vector_
clock - Vector clock implementation for causality tracking
Type Aliases§
- Device
Id - Device identifier type
- Timestamp
- Timestamp type for synchronization
- Version
Vector - Version vector type for causality tracking