kofre.dotted
Members list
Type members
Classlikes
The context describes dots that have been seen. The store describes which value is associated for a given dot. Dots that are removed from the store are considered deleted. All others are merged as for normal maps.
The context describes dots that have been seen. The store describes which value is associated for a given dot. Dots that are removed from the store are considered deleted. All others are merged as for normal maps.
The delta CRDT paper calls this a DotFun
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
DotMap is a dot store implementation that maps keys of an arbitrary type K to values of a dot store type V. See ObserveRemoveMap for a usage example.
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
DecomposableDotStore is the typeclass trait for dot stores, data structures that are part of causal CRDTs and make use of dots to track time.
DecomposableDotStore is the typeclass trait for dot stores, data structures that are part of causal CRDTs and make use of dots to track time.
Attributes
- Companion:
- object
- Graph
- Supertypes
- Known subtypes
- class FromConlattice[A]class ProductDottedDecompose[T]
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- DottedDecompose.type
The delta CRDT paper introduces a lot of individual abstractions that all do a lot of cool stuff, but often not separated into their pieces. This is one of those pieces systematically handling removals based on metadata.
The delta CRDT paper introduces a lot of individual abstractions that all do a lot of cool stuff, but often not separated into their pieces. This is one of those pieces systematically handling removals based on metadata.
The context encodes dots that have been seen. The store of type A is assumed to be something that stores individual information per dot. We represent removals as context that contains a dot, but a store that no longer contains the dot. Thus, when merging the abstract logic is somewhat along the lines of: Both contain the (dot, value) pair? => merge value recursively. Only one contains the dot in the context? => keep that value. Both contain the dot, but at least one has no matching value? => remove all values for that dot.
Separating into a mergePartial allows extracting the context into the outermost layer reducing metadata overhead.
Attributes
- Graph
- Supertypes
- Known subtypes
- object dottedLattice.typetrait DottedDecompose[A]class FromConlattice[A]class ProductDottedDecompose[T]
See: Dot stores in delta state replicated data types
See: Dot stores in delta state replicated data types
But here, a dot store is something that can be seen as a Dots
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes