subduction_core
Core synchronization protocol for applications built on Sedimentree.
[!WARNING] This is an early release preview with an unstable API. Do not use for production at this time.
Overview
Subduction is a peer-to-peer sync protocol that enables efficient synchronization of encrypted, partitioned data. This crate provides the protocol implementation, connection management, and policy enforcement.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Subduction │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Handler │ │ Connection │ │ StoragePowerbox │ │
│ │ (dispatch) │ │ Manager │ │ (Fetcher/Putter) │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
│ │ │ │ │
│ └────────────────┴────────────────────┘ │
│ │ │
│ ┌─────────────────────────┴─────────────────────────────────┐ │
│ │ ShardedMap<SedimentreeId, Sedimentree> │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
no_std Support
This crate is #![no_std] compatible. Enable the std feature for standard library support.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.