1 unstable release
0.2.0 | Mar 20, 2021 |
---|
#1576 in Data structures
43KB
1K
SLoC
CRDT's based on "A Low-Cost Set CRDT Based on Causal Lengths" combined with an optional tag. The tag can be any type that satisfies [TagT]. A simple integer, wall clock, lamport timestamp, or even a hybrid logical clock from "Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases" may be used.
Distinctive features of this group of CRDTs
- No need for a pre-shared, globally unique identifier
- While it can use a clock, it is not last-write-wins, and does not require one
- Updates can be merged out of order or redundantly, so it appears to be a Delta CRDT
Status
- Set - Fairly solid, based directly on the paper
- Map - Based on Set, but not in the paper. Could be described as most updated wins. New and not super well tested.
- Register - Can be regarded as either a single set member (therefore tied to the paper), a delta for either Set or Map, or a CRDT equivalent to Option.
Dependencies
~140–380KB