kofre.decompose.interfaces

Members list

Concise view

Type members

Classlikes

A GList is a Delta CRDT modeling a grow-only list where list elements can neither be removed nor modified.

A GList is a Delta CRDT modeling a grow-only list where list elements can neither be removed nor modified.

Concurrent inserts at the same index i are resolved by the timestamps of the insert operations: the later insert will be at index i while the earlier insert will be pushed to index i+1.

Note: GList is implemented as a linked list, thus the time needed to execute operations at the end of the list will scale linearly with the length of the list. Similarly, toList always has to iterate the whole list, so for applications that don't always need the whole list you should consider using toLazyList instead.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

A GSet is a Delta CRDT modeling a simple grow-only set.

A GSet is a Delta CRDT modeling a simple grow-only set.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

An LWW (Last Writer Wins) is a Delta CRDT modeling a register.

An LWW (Last Writer Wins) is a Delta CRDT modeling a register.

If two concurrent write operations occur, the resulting LWW takes on the value of the write operation with the later timestamp.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

A LexCounter is a Delta CRDT modeling a counter.

A LexCounter is a Delta CRDT modeling a counter.

It uses lexicographic pairs to allow counter decrements as well as increments.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

An MVRegister (Multi-Value Register) is a Delta CRDT modeling a register.

An MVRegister (Multi-Value Register) is a Delta CRDT modeling a register.

In the absence of concurrent writes, the MVRegister is either empty or holds one value. When multiple values are written concurrently, reading the MVRegister returns a set holding all these values.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

An RCounter (Resettable Counter/Add Wins Counter) is a Delta CRDT modeling a counter.

An RCounter (Resettable Counter/Add Wins Counter) is a Delta CRDT modeling a counter.

Calling fresh after every time that deltas are shipped to other replicas prevents subsequent increment/decrement operations to be overwritten by concurrent reset operations.

This counter was originally proposed by Baquera et al. in "The problem with embedded CRDT counters and a solution", see here

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type