neurodrone / crdt

A Golang implementation of CRDTs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Optimize lww-e-set

neurodrone opened this issue · comments

Instead of resolving conflicts in the read-path, we can try to resolve them in the write-path.

By adding a [element, time, contains?] version we can add or remove an element from the set depending on the timestamp for which op is higher.

When times for conflicting ops (both add and remove) are same then we pick the value for contains? depending on the biasValue that is passed in.