final case class VectorClock(versions: TreeMap[Node, Long] = TreeMap.empty[VectorClock.Node, Long]) extends Product with Serializable
Representation of a Vector-based clock (counting clock), inspired by Lamport logical clocks.
Reference: 1) Leslie Lamport (1978). "Time, clocks, and the ordering of events in a distributed system". Communications of the ACM 21 (7): 558-565. 2) Friedemann Mattern (1988). "Virtual Time and Global States of Distributed Systems". Workshop on Parallel and Distributed Algorithms: pp. 215-226
Based on code from the 'vlock' VectorClock library by Coda Hale.
- Annotations
 - @SerialVersionUID()
 - Source
 - VectorClock.scala
 
- Alphabetic
 - By Inheritance
 
- VectorClock
 - Serializable
 - Product
 - Equals
 - AnyRef
 - Any
 
- by any2stringadd
 - by StringFormat
 - by Ensuring
 - by ArrowAssoc
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Instance Constructors
Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -    def +(other: String): String
- Implicit
 - This member is added by an implicit conversion from VectorClock toany2stringadd[VectorClock] performed by method any2stringadd in scala.Predef.
 - Definition Classes
 - any2stringadd
 
 -    def ->[B](y: B): (VectorClock, B)
- Implicit
 - This member is added by an implicit conversion from VectorClock toArrowAssoc[VectorClock] performed by method ArrowAssoc in scala.Predef.
 - Definition Classes
 - ArrowAssoc
 - Annotations
 - @inline()
 
 -    def :+(node: Node): VectorClock
Increment the version for the node passed as argument.
Increment the version for the node passed as argument. Returns a new VectorClock.
 -    def <(that: VectorClock): Boolean
Returns true if
thisis beforethatelse false. -    def <>(that: VectorClock): Boolean
Returns true if
thisandthatare concurrent else false. -    def ==(that: VectorClock): Boolean
Returns true if this VectorClock has the same history as the 'that' VectorClock else false.
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def >(that: VectorClock): Boolean
Returns true if
thisis afterthatelse false. -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
 -    def compareTo(that: VectorClock): Ordering
Compare two vector clocks.
Compare two vector clocks. The outcome will be one of the following:
1. Clock 1 is SAME (==) as Clock 2 iff for all i c1(i) == c2(i) 2. Clock 1 is BEFORE (<) Clock 2 iff for all i c1(i) <= c2(i) and there exist a j such that c1(j) < c2(j) 3. Clock 1 is AFTER (>) Clock 2 iff for all i c1(i) >= c2(i) and there exist a j such that c1(j) > c2(j). 4. Clock 1 is CONCURRENT (<>) to Clock 2 otherwise.
 -    def ensuring(cond: (VectorClock) => Boolean, msg: => Any): VectorClock
- Implicit
 - This member is added by an implicit conversion from VectorClock toEnsuring[VectorClock] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: (VectorClock) => Boolean): VectorClock
- Implicit
 - This member is added by an implicit conversion from VectorClock toEnsuring[VectorClock] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean, msg: => Any): VectorClock
- Implicit
 - This member is added by an implicit conversion from VectorClock toEnsuring[VectorClock] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean): VectorClock
- Implicit
 - This member is added by an implicit conversion from VectorClock toEnsuring[VectorClock] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -    def merge(that: VectorClock): VectorClock
Merges this VectorClock with another VectorClock.
Merges this VectorClock with another VectorClock. E.g. merges its versioned history.
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -    def productElementNames: Iterator[String]
- Definition Classes
 - Product
 
 -  def prune(removedNode: Node): VectorClock
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - VectorClock → AnyRef → Any
 
 -  val versions: TreeMap[Node, Long]
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 
Deprecated Value Members
-    def finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable]) @Deprecated
 - Deprecated
 (Since version 9)
 -    def formatted(fmtstr: String): String
- Implicit
 - This member is added by an implicit conversion from VectorClock toStringFormat[VectorClock] performed by method StringFormat in scala.Predef.
 - Definition Classes
 - StringFormat
 - Annotations
 - @deprecated @inline()
 - Deprecated
 (Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
 -    def →[B](y: B): (VectorClock, B)
- Implicit
 - This member is added by an implicit conversion from VectorClock toArrowAssoc[VectorClock] performed by method ArrowAssoc in scala.Predef.
 - Definition Classes
 - ArrowAssoc
 - Annotations
 - @deprecated
 - Deprecated
 (Since version 2.13.0) Use
->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.