Skip to content

Causal is a simple Reliable Causal Broadcast (RCB) protocol written in Rust that implements several CmRDTs.

Notifications You must be signed in to change notification settings

iambriccardo/causal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Causal

Causal is a Reliable Causal Broadcast (RCB) protocol implemented in Rust and Actix.

The protocol is an adaptation from this article which is a great read for anyone wanting to try and learn more about operation-based CRDTs.

What are CmRDTs?

Operation-based CRDTs are also called commutative replicated data types, or CmRDTs. CmRDT replicas propagate state by transmitting only the update operation. Replicas receive the updates and apply them locally.

The operations are commutative. However, they are not necessarily idempotent. The communications infrastructure must therefore ensure that all operations on a replica are delivered to the other replicas, without duplication, but in any order.

Implemented CmRDTs

  • ORSet
  • LSeq
  • RGA

Disclaimer

Please note that the work on this protocol has just been started and there are for sure bugs and features that must be solved/added.

About

Causal is a simple Reliable Causal Broadcast (RCB) protocol written in Rust that implements several CmRDTs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages