Implementation of IdBlockStore on top of AtomicCounter

Change-Id: I019322a812262edeca20a55813183a63b4525b75
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java
index 3cad25f..a69c0cc 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java
@@ -16,7 +16,9 @@
 package org.onosproject.store.consistent.impl;
 
 import java.util.concurrent.CompletableFuture;
+
 import org.onosproject.store.service.AsyncAtomicCounter;
+
 import static com.google.common.base.Preconditions.*;
 
 /**
@@ -37,11 +39,26 @@
 
     @Override
     public CompletableFuture<Long> incrementAndGet() {
-        return database.nextValue(name);
+        return addAndGet(1L);
     }
 
     @Override
     public CompletableFuture<Long> get() {
-        return database.currentValue(name);
+        return database.counterGet(name);
+    }
+
+    @Override
+    public CompletableFuture<Long> getAndIncrement() {
+        return getAndAdd(1L);
+    }
+
+    @Override
+    public CompletableFuture<Long> getAndAdd(long delta) {
+        return database.counterGetAndAdd(name, delta);
+    }
+
+    @Override
+    public CompletableFuture<Long> addAndGet(long delta) {
+        return database.counterAddAndGet(name, delta);
     }
 }