Module crdt

Module crdt 

Source
Expand description

Conflict-free Replicated Data Types (CRDTs) for distributed systems

This module provides various CRDT implementations that can be used to build eventually consistent distributed applications.

Re-exports§

pub use basic::LwwRegister;
pub use basic::LwwMap;
pub use basic::GCounter;
pub use basic::ReplicaId;
pub use basic::Mergeable;
pub use basic::CRDT;
pub use list::ElementId;
pub use list::ElementMetadata;
pub use list::ListElement;
pub use list::ListStrategy;
pub use list::ListConfig;
pub use list::AddWinsList;
pub use list::RemoveWinsList;
pub use list::LwwList;
pub use tree::NodeId;
pub use tree::NodeMetadata;
pub use tree::TreeNode;
pub use tree::TreeStrategy;
pub use tree::TreeConfig;
pub use tree::AddWinsTree;
pub use tree::RemoveWinsTree;
pub use graph::VertexId;
pub use graph::EdgeId;
pub use graph::VertexMetadata;
pub use graph::EdgeMetadata;
pub use graph::Vertex;
pub use graph::Edge;
pub use graph::GraphStrategy;
pub use graph::GraphConfig;
pub use graph::AddWinsGraph;
pub use graph::RemoveWinsGraph;
pub use builder::CrdtBuilder;
pub use builder::CrdtBuilderConfig;
pub use builder::FieldConfig;
pub use builder::CrdtStrategy;
pub use builder::CustomCrdt;
pub use builder::GenericCrdtField;
pub use builder::CrdtField;
pub use builder::BuilderError;
pub use advanced::Rga;
pub use advanced::RgaElement;
pub use advanced::Lseq;
pub use advanced::LseqElement;
pub use advanced::YjsTree;
pub use advanced::YjsNode;
pub use advanced::YjsTreeNode;
pub use advanced::Dag;
pub use advanced::DagNode;
pub use advanced::PositionId;
pub use advanced::AdvancedCrdtError;

Modules§

advanced
Advanced CRDT Types
basic
Basic CRDT implementations
builder
Custom CRDT Builder Framework
graph
Graph CRDT implementations
list
tree
Tree CRDT implementations