Package

com.rbmhtechnology.eventuate.crdt

pure

Permalink

package pure

Visibility
  1. Public
  2. All

Type Members

  1. case class AWCartEntry[A](key: A, quantity: Int) extends CRDTFormat with Product with Serializable

    Permalink

    AWCart entry.

    AWCart entry.

    A

    Key type.

    key

    Entry key. Used to identify a product in the shopping cart.

    quantity

    Entry quantity.

  2. class AWCartService[A] extends CRDTService[SimpleCRDT, Map[A, Int]]

    Permalink

    Replicated AWCart CRDT service.

    Replicated AWCart CRDT service.

    • For adding a new key of given quantity a client should call add.
    • For incrementing the quantity of an existing key a client should call add.
    • For decrementing the quantity of an existing key a client should call remove, followed by add (after remove successfully completed).
    • For removing a key a client should call remove.
    A

    AWCart key type.

  3. class AWSetService[A] extends CRDTService[AWSet[A], Set[A]]

    Permalink

    Replicated AWSet CRDT service.

    Replicated AWSet CRDT service.

    A

    AWSet entry type.

  4. case class AddOp(entry: Any) extends CRDTFormat with Product with Serializable

    Permalink

    Persistent add operation used for AWSet and AWCart.

  5. case class AssignOp(value: Any) extends CRDTFormat with Product with Serializable

    Permalink

    Persistent assign operation used for MVRegister and LWWRegister.

  6. case class CRDT[B](polog: POLog, state: B) extends CRDTFormat with Product with Serializable

    Permalink

    A pure op-based CRDT wich state is splitted in two componentes.

    A pure op-based CRDT wich state is splitted in two componentes. A map of timestamps to operations (the POLog) and a plain set of stable operations or a specialized implementation (the state) P(O) × (T ֒→ O)

    B

    state type

    polog

    The POLog contains only the set of timestamped operations

    state

    The state of the CRDT that contains stable operations (non-timestamped) or a "specialized implementation according to the domain" e.g., a bitmap for dense sets of integers in an AWSet

  7. trait CRDTFormat extends Serializable

    Permalink

    Marker trait for protobuf-serializable CRDTs and operations.

  8. final class CRDTFormats extends AnyRef

    Permalink
  9. class CRDTSerializer extends Serializer

    Permalink
  10. trait CRDTService[A, B] extends AnyRef

    Permalink

    A generic, replicated CRDT service that manages a map of CRDTs identified by name.

    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.

    A

    CRDT type

    B

    CRDT value type

  11. trait CRDTServiceOps[A, B] extends AnyRef

    Permalink

    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

    A

    CRDT type

    B

    CRDT value type

  12. class CounterService[A] extends CRDTService[A, A]

    Permalink

    Replicated Counter CRDT service.

    Replicated Counter CRDT service.

    A

    Counter value type.

  13. trait CvRDTPureOp[C, B] extends CRDTServiceOps[CRDT[C], B]

    Permalink

    Type-class for pure-op based CRDT.

    Type-class for pure-op based CRDT.

    C

    CRDT state type

    B

    CRDT value type

  14. trait CvRDTPureOpSimple[B] extends CvRDTPureOp[Seq[Operation], B]

    Permalink

    A base trait for pure-op based CRDTs wich state is a sequence of stable operations

    A base trait for pure-op based CRDTs wich state is a sequence of stable operations

    B

    CRDT value type

  15. class LWWRegisterService[A] extends CRDTService[SimpleCRDT, Option[A]]

    Permalink

    Replicated LWWRegister CRDT service.

    Replicated LWWRegister CRDT service.

    A

    LWWRegister value type.

  16. class MVRegisterService[A] extends CRDTService[SimpleCRDT, Set[A]]

    Permalink

    Replicated MVRegisterService CRDT service.

    Replicated MVRegisterService CRDT service.

    A

    MVRegisterService value type.

  17. case class POLog(log: Set[Versioned[Operation]] = Set.empty) extends CRDTFormat with Product with Serializable

    Permalink

    A Partial Ordered Log which retains all invoked operations together with their timestamps.

    A Partial Ordered Log which retains all invoked operations together with their timestamps.

    log

    the set of operations with its timestamp and optional metadata (i.e. systemTimestamp, creator)

  18. case class RemoveOp(entry: Any) extends CRDTFormat with Product with Serializable

    Permalink

    Persistent remove operation used for AWSet and AWCart.

  19. class TPSetService[A] extends CRDTService[TPSet[A], Set[A]]

    Permalink
  20. case class UpdateOp(delta: Any) extends CRDTFormat with Product with Serializable

    Permalink

    Persistent update operation used for Counter.

Value Members

  1. object AWCartService

    Permalink
  2. object AWSetService

    Permalink
  3. object CRDT extends Serializable

    Permalink
  4. object CRDTService

    Permalink
  5. object CRDTTypes

    Permalink
  6. object ClearOp extends CRDTFormat with Product with Serializable

    Permalink
  7. object CounterService

    Permalink
  8. object LWWRegisterService

    Permalink
  9. object MVRegisterService

    Permalink
  10. object StabilityProtocol

    Permalink
  11. object TPSetService

    Permalink
  12. package japi

    Permalink

Ungrouped