Skip to content
/ crdt Public

Some CRDTs implemented in Go

License

Notifications You must be signed in to change notification settings

jclem/crdt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crdt

A conflict-free replicated data type (CRDT) is a data structure that can be updated concurrently (and in different orders) at different replicas. As long as all replicas receive all states or operations on the CRDT, the values of the replicas converge.

This package implements several CRDTs in Go. The goal is not necessarily to create production-ready CRDTs (for example, many of them do not support safe atomic operations, nor are they thread-safe), but rather as an exercise for me to get more comfortable with Go and to learn about CRDTs.

Included CRDTs

  • gcounter A grow-only counter
  • LWW Register A last-write wins register
  • pncounter A counter which can increment or decrement
  • rgass A CRDT for efficient string-based collaborative editing

About

Some CRDTs implemented in Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages