Class

com.rbmhtechnology.eventuate.crdt.pure

POLog

Related Doc: package pure

Permalink

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

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)

Linear Supertypes
Product, Equals, CRDTFormat, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. POLog
  2. Product
  3. Equals
  4. CRDTFormat
  5. Serializable
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new POLog(log: Set[Versioned[Operation]] = Set.empty)

    Permalink

    log

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

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def add(op: Versioned[Operation])(implicit red: CausalRedundancy): (POLog, Boolean)

    Permalink

    "A newly delivered operation (t, o) is added to the PO-Log if it is not redundant by the PO-Log operations [...].

    "A newly delivered operation (t, o) is added to the PO-Log if it is not redundant by the PO-Log operations [...]. An existing operation x in the PO-Log is removed if it is made redundant by (t, o)"

    op

    the operation to add

    red

    the data type specific relations for causal redundancy

    returns

    a pair conformed by

    • a boolean indicating if the operation was added to the POLog (i.e. it wasn't redundant). This is used after in CvRDTPureOpSimple.updateState to know wich Redundancy_ relation must use for update the state.
    • the resulting POLog after adding and pruning. Note that the operation received may not be present in the returned POLog if it was redundant
    See also

    CvRDTPureOp.updateState

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  11. val log: Set[Versioned[Operation]]

    Permalink

    the set of operations with its timestamp and optional metadata (i.e.

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

  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. def stable(stable: TCStable): (POLog, Seq[Operation])

    Permalink

    Discards all the operations from the POLog that are less or equal than the received TCStable and returns a pair with the updated POLog and the discarded (stable) operations.

    Discards all the operations from the POLog that are less or equal than the received TCStable and returns a pair with the updated POLog and the discarded (stable) operations.

    stable

    the stable TCStable delivered by the TCSB middleware

    returns

    a pair conformed by the POLog with only the operations that are not stable at the received TCStable, and the set of operations that are stable at the received TCStable

  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Product

Inherited from Equals

Inherited from CRDTFormat

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped