Expand description
A pure-Rust library of thoroughly-tested, serializable CRDT’s.
Conflict-free Replicated Data Types (CRDTs) are data structures which can be replicated across multiple networked nodes, and whose properties allow for deterministic, local resolution of possible inconsistencies which might result from concurrent operations.
Re-exports§
pub use gcounter::GCounter;
pub use glist::GList;
pub use identifier::Identifier;
pub use list::List;
pub use pncounter::PNCounter;
pub use crate::dot::Dot;
pub use crate::dot::DotRange;
pub use crate::dot::OrdDot;
pub use crate::gset::GSet;
pub use crate::lwwreg::LWWReg;
pub use crate::map::Map;
pub use crate::mvreg::MVReg;
pub use crate::orswot::Orswot;
pub use crate::vclock::VClock;
pub use quickcheck;
Modules§
- ctx
- This module contains context for editing a CRDT.
- dot
- This module contains the Dot (Actor + Sequence Number)
- gcounter
- This module contains a Grow-only Counter.
- glist
- This module contains a Grow-only List.
- gset
- This module contains a Grow-only Set.
- identifier
- This module contains a dense Identifier. Dense Identifiers.
- list
- This module contains a Sequence.
- lwwreg
- This module contains a Last-Write-Wins Register.
- map
- This module contains a Map with Reset-Remove and Observed-Remove semantics.
- merkle_
reg - This module contains a Merkle-Dag Register.
- mvreg
- This module contains a Multi-Value Register.
- orswot
- This module contains an Observed-Remove Set With Out Tombstones.
- pncounter
- This module contains a Positive-Negative Counter.
- vclock
- This module contains the Vector Clock This module contains a generic Vector Clock implementation.
Traits§
- Actor
- Common Actor type. Actors are unique identifier for every
thing
mutating a VClock. VClock based CRDT’s will need to expose this Actor type to the user. - CmRDT
- Operation based CRDT’s replicate by transmitting each operation.
- CvRDT
- State based CRDT’s replicate by transmitting the entire CRDT state.
- Reset
Remove - CRDT’s are causal if they are built on top of vector clocks.