[ONOS-5599] Store meter features into MeterStore
Change-Id: I22f7366b87cad6fc706b6ff7b0ccff1a0e85ad6a
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java b/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
index d5247c4..5a5016e 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.net.meter;
+import org.onosproject.net.DeviceId;
import org.onosproject.store.Store;
import java.util.Collection;
@@ -41,6 +42,24 @@
*/
CompletableFuture<MeterStoreResult> deleteMeter(Meter meter);
+
+ /**
+ * Adds the meter features to the store.
+ *
+ * @param meterfeatures the meter features
+ * @return the result of the store operation
+ */
+ MeterStoreResult storeMeterFeatures(MeterFeatures meterfeatures);
+
+ /**
+ * Deletes the meter features from the store.
+ *
+ * @param deviceId the device id
+ * @return a future indicating the result of the store operation
+ */
+ MeterStoreResult deleteMeterFeatures(DeviceId deviceId);
+
+
/**
* Updates a meter whose meter id is the same as the passed meter.
*
@@ -87,4 +106,12 @@
*/
void deleteMeterNow(Meter m);
+ /**
+ * Retrieve maximum meters available for the device.
+ *
+ * @param key the meter features key
+ * @return the maximum number of meters supported by the device
+ */
+ long getMaxMeters(MeterFeaturesKey key);
+
}