Add new methods to ConsistentMap API to improve usability.
Change-Id: I1e82f0ab191edc6b0f52c7d7b0307aa3d2ef9d1f
Change-Id: I4c5982fe6596f716729b7885eb584a60735cd41b
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
index 06c0ef4..52a1b20 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
@@ -100,6 +100,20 @@
}
@Override
+ public CompletableFuture<Result<UpdateResult<Versioned<byte[]>>>> putAndGet(String tableName,
+ String key,
+ byte[] value) {
+ return checkOpen(() -> proxy.putAndGet(tableName, key, value));
+ }
+
+ @Override
+ public CompletableFuture<Result<UpdateResult<Versioned<byte[]>>>> putIfAbsentAndGet(String tableName,
+ String key,
+ byte[] value) {
+ return checkOpen(() -> proxy.putIfAbsentAndGet(tableName, key, value));
+ }
+
+ @Override
public CompletableFuture<Result<Versioned<byte[]>>> remove(String tableName, String key) {
return checkOpen(() -> proxy.remove(tableName, key));
}
@@ -150,6 +164,14 @@
}
@Override
+ public CompletableFuture<Result<UpdateResult<Versioned<byte[]>>>> replaceAndGet(String tableName,
+ String key,
+ long oldVersion,
+ byte[] newValue) {
+ return checkOpen(() -> proxy.replaceAndGet(tableName, key, oldVersion, newValue));
+ }
+
+ @Override
public CompletableFuture<Long> counterGet(String counterName) {
return checkOpen(() -> proxy.counterGet(counterName));
}