From 607eac90e352e7bad84f201c395658aba0ab033b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bone=CC=81r?= Date: Thu, 9 Feb 2012 15:55:29 +0100 Subject: [PATCH] Added 'or' method to Versioned. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Bonér --- .../src/main/scala/akka/cluster/VectorClock.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/akka-cluster/src/main/scala/akka/cluster/VectorClock.scala b/akka-cluster/src/main/scala/akka/cluster/VectorClock.scala index d8d87db75b..13583cc120 100644 --- a/akka-cluster/src/main/scala/akka/cluster/VectorClock.scala +++ b/akka-cluster/src/main/scala/akka/cluster/VectorClock.scala @@ -13,12 +13,21 @@ class VectorClockException(message: String) extends AkkaException(message) */ trait Versioned { def version: VectorClock + + /** + * Returns the Versioned that have the latest version. + */ + def or(other: Versioned): Versioned = Versioned.latestVersionOf(this, other) } /** * Utility methods for comparing Versioned instances. */ object Versioned { + + /** + * Returns the Versioned that have the latest version. + */ def latestVersionOf[T <: Versioned](versioned1: T, versioned2: T): T = { (versioned1.version compare versioned2.version) match { case VectorClock.Before ⇒ versioned2 // version 1 is BEFORE (older), use version 2