Marker trait for protobuf-serializable CRDTs.
A generic, replicated CRDT service that manages a map of CRDTs identified by name.
Typeclass to be implemented by CRDTs if they shall be managed by CRDTService
Typeclass to be implemented by CRDTs if they shall be managed by CRDTService
CRDT type
CRDT value type
Replicated counter.
Replicated counter.
Counter value type.
Current counter value.
Replicated Counter CRDT service.
Replicated Counter CRDT service.
Counter value type.
Replicated LWW-Register with an MVRegister-based implementation.
Replicated LWW-Register with an MVRegister-based implementation. Instead of returning multiple values in case of concurrent assignments, the last written value is returned. The last written value is determined by comparing the following Registered fields in given order:
vectorTimestamp
: if causally related, return the value with the higher timestamp, otherwise comparesystemTimestamp
: if not equal, return the value with the higher timestamp, otherwise compareemitterId
Note that this relies on synchronized system clocks. LWWRegister should only be used when the choice of value is not important for concurrent updates occurring within the clock skew.
Initially empty MVRegister.
Replicated LWWRegister CRDT service.
Replicated LWWRegister CRDT service.
LWWRegister value type.
Replicated MV-Register.
Replicated MV-Register. Has several Registered values assigned in case of concurrent assignments, otherwise, a single Registered value. Concurrent assignments can be reduced to a single assignment by assigning a Registered value with a vector timestamp that is greater than those of the currently assigned Registered values.
MV-Register value type.
Registered values. Initially empty.
Replicated MVRegister CRDT service.
Replicated MVRegister CRDT service.
MVRegister value type.
Replicated OR-Set.
Replicated OR-Set. In case of a concurrent add
and remove
, add
has precedence.
Entry value type.
Versioned entries.
Replicated ORSet CRDT service.
Internal representation of an MVRegister value.
A generic, replicated CRDT service that manages a map of CRDTs identified by name. Replication is based on the replicated event
log
that preserves causal ordering of events.CRDT type
CRDT value type