Moving meter store implementation to use map events

Change-Id: I338473b7286d7b9e5cdfb938f16c7b6155d4cbb5
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterStore.java b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterStore.java
index 232eedd..54e5658 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterStore.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterStore.java
@@ -18,6 +18,7 @@
 import org.onosproject.store.Store;
 
 import java.util.Collection;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * Entity that stores and distributed meter objects.
@@ -28,25 +29,29 @@
      * Adds a meter to the store.
      *
      * @param meter a meter
+     * @return a future indicating the result of the store operation
      */
-    void storeMeter(Meter meter);
+    CompletableFuture<MeterStoreResult> storeMeter(Meter meter);
 
     /**
      * Deletes a meter from the store.
      *
      * @param meter a meter
+     * @return a future indicating the result of the store operation
      */
-    void deleteMeter(Meter meter);
+    CompletableFuture<MeterStoreResult> deleteMeter(Meter meter);
 
     /**
      * Updates a meter whose meter id is the same as the passed meter.
      *
      * @param meter a new meter
+     * @return a future indicating the result of the store operation
      */
-    void updateMeter(Meter meter);
+    CompletableFuture<MeterStoreResult> updateMeter(Meter meter);
 
     /**
      * Updates a given meter's state with the provided state.
+     *
      * @param meter a meter
      */
     void updateMeterState(Meter meter);