DottedDecompose

kofre.dotted.DottedDecompose
See theDottedDecompose companion object

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
trait DottedLattice[A]
trait Lattice[Dotted[A]]
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Value members

Concrete methods

def contextbimap[B](to: Dotted[A] => Dotted[B], from: Dotted[B] => Dotted[A]): DottedDecompose[B]

Inherited methods

def bimap[B](to: Dotted[A] => B, from: B => Dotted[A]): Lattice[B]

Attributes

Inherited from:
Lattice
def decompose(a: Dotted[A]): Iterable[A]

Decompose a state into smaller parts. Note that the goal here is small individual storage size at reasonable computational cost. Minimalism of returned results is not guaranteed. It is also not guaranteed that the result does not overlap.

Decompose a state into smaller parts. Note that the goal here is small individual storage size at reasonable computational cost. Minimalism of returned results is not guaranteed. It is also not guaranteed that the result does not overlap.

Attributes

Inherited from:
DecomposeLattice
def diff(state: Dotted[A], delta: Dotted[A]): Option[A]

computes delta without state

computes delta without state

Attributes

Inherited from:
DecomposeLattice
override def lteq(left: Dotted[A], right: Dotted[A]): Boolean

Lattice order is derived from merge, but should be overridden for efficiency

Lattice order is derived from merge, but should be overridden for efficiency

Attributes

Definition Classes
Inherited from:
DottedLattice
def merge(left: Dotted[A], right: Dotted[A]): Dotted[A]

By assumption: associative, commutative, idempotent.

By assumption: associative, commutative, idempotent.

For use with Delta CRDTs, this function should be optimized for the case that left >> right, i.e., that left is the current state and right the delta

Attributes

Inherited from:
DottedLattice
def mergePartial(left: Dotted[A], right: Dotted[A]): A

Attributes

Inherited from:
DottedLattice

Extensions

Inherited extensions

extension (a: A)
def decomposed: Iterable[A]

Attributes

Inherited from:
DecomposeLattice
extension (left: Dotted[A])
def dotmerge(right: Dotted[A]): A

Attributes

Inherited from:
DottedLattice
extension (left: A)
def <=(right: A): Boolean

Lattice order is derived from merge, but should be overridden for efficiency

Lattice order is derived from merge, but should be overridden for efficiency

Attributes

Inherited from:
Lattice
def merge(right: A): A

Attributes

Inherited from:
Lattice