aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java
diff options
context:
space:
mode:
authorAshlee Young <ashlee@onosfw.com>2015-10-09 18:32:44 -0700
committerAshlee Young <ashlee@onosfw.com>2015-10-09 18:32:44 -0700
commit6a07d2d622eaa06953f3353e39c080984076e8de (patch)
treebfb50a2090fce186c2cc545a400c969bf2ea702b /framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java
parente6d71622143ff9b2421a1abbe8434b954b5b1099 (diff)
Updated master to commit id 6ee8aa3e67ce89908a8c93aa9445c6f71a18f986
Change-Id: I94b055ee2f298daf71e2ec794fd0f2495bd8081f
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java b/framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java
index a879cc59..c0df7134 100644
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java
+++ b/framework/src/onos/core/api/src/main/java/org/onosproject/store/service/AsyncAtomicCounter.java
@@ -58,4 +58,21 @@ public interface AsyncAtomicCounter {
* @return current value
*/
CompletableFuture<Long> get();
+
+
+ /**
+ * Atomically sets the given value to the current value.
+ *
+ * @return future void
+ */
+ CompletableFuture<Void> set(long value);
+
+ /**
+ * Atomically sets the given counter to the updated value if the current value is the expected value, otherwise
+ * no change occurs.
+ * @param expectedValue the expected current value of the counter
+ * @param updateValue the new value to be set
+ * @return true if the update occurred and the expected value was equal to the current value, false otherwise
+ */
+ CompletableFuture<Boolean> compareAndSet(long expectedValue, long updateValue);
}