Expand description
This crate provides a key-data map structure HRTree
that can be used together with the
reconciliation Service
. Different instances can talk together over UDP to efficiently
reconcile their differences.
All the data is available locally in all instances, and the user can be
notified of changes to the collection with an insertion hook.
The protocol allows finding a difference over millions of elements with a limited
number of round-trips. It should also work well to populate an instance from
scratch from other instances.
Re-exports
pub use diff::HashRangeQueryable;
pub use hrtree::HRTree;
pub use service::DatedMaybeTombstone;
pub use service::Service;
Modules
- Provides two traits:
HashRangeQueryable
andDiffable
. - Provides utility methods to generate IP addresses from a CIDR.
- Provides a
Hash Range Tree
, a key-value store based on a BTree structure. - Provides the
Reconcilable
trait. - Provides the
Service
, a wrapper to a key-value map to enable reconciliation between different instances over a network.