Removed ClockService<K, V> and replaced its usage with a BiFunction<K, V, Timestamp>
Change-Id: Ide8d979f9361f1aff6727a83733747f4512ef8ff
diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
index 683d058..a884e7a 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
@@ -16,6 +16,7 @@
package org.onosproject.store.intent.impl;
import com.google.common.collect.ImmutableList;
+
import org.apache.commons.lang.math.RandomUtils;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -48,6 +49,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -83,6 +85,8 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected PartitionService partitionService;
+ private final AtomicLong sequenceNumber = new AtomicLong(0);
+
@Activate
public void activate() {
KryoNamespace.Builder intentSerializer = KryoNamespace.newBuilder()
@@ -94,14 +98,17 @@
currentMap = storageService.<Key, IntentData>eventuallyConsistentMapBuilder()
.withName("intent-current")
.withSerializer(intentSerializer)
- .withClockService(new IntentDataLogicalClockManager<>())
+ .withTimestampProvider((key, intentData) ->
+ new MultiValuedTimestamp<>(intentData.version(),
+ sequenceNumber.getAndIncrement()))
.withPeerUpdateFunction((key, intentData) -> getPeerNodes(key, intentData))
.build();
pendingMap = storageService.<Key, IntentData>eventuallyConsistentMapBuilder()
.withName("intent-pending")
.withSerializer(intentSerializer)
- .withClockService(new IntentDataClockManager<>())
+ .withTimestampProvider((key, intentData) -> new MultiValuedTimestamp<>(intentData.version(),
+ System.nanoTime()))
.withPeerUpdateFunction((key, intentData) -> getPeerNodes(key, intentData))
.build();