Understanding Convergent Replicated Data Types
I wanted to understand CRDTs more, so I put together this Rust library for state-based CRDTs a.k.a. convergent replicated data types a.k.a. CvRDTs. It aims to present an explicit (with strong types, etc.) and unified description of the CvRDTs presented in the wonderful paper A comprehensive study of Convergent and Commutative Replicated Data Types.
Do not use this!
This code is solely for my own edification and is not meant for production use.
There are already much better options for usable CRDTs in Rust; see the rust-crdt project.
References
- A comprehensive study of Convergent and Commutative Replicated Data Types
- Wikipedia article on Conflict-free replicated data type
rust-crdtmeangirls- The
proptestbook;cvrdt-expositionusesproptestfor testing that implementations fulfill required CvRDT properties.