Initial implementation of Meter Service (needs testing)
Change-Id: Ie07bd3e2bd7c67a6499c965d8926eb361ad16462
store impl started
Change-Id: Ib8b474f40dcecff335a421c12ad149fe9830c427
full implementation
Change-Id: Ie59fd61d02972bd04d887bdcca9745793b880681
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterEvent.java b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterEvent.java
index a952a14..9439145 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterEvent.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/meter/MeterEvent.java
@@ -20,20 +20,12 @@
/**
* Entity that represents Meter events.
*/
-public class MeterEvent extends AbstractEvent<MeterEvent.Type, Meter> {
+public class MeterEvent extends AbstractEvent<MeterEvent.Type, MeterOperation> {
- enum Type {
+ private final MeterFailReason reason;
- /**
- * Signals that a new meter has been added.
- */
- METER_ADDED,
-
- /**
- * Signals that a meter has been removed.
- */
- METER_REMOVED,
+ public enum Type {
/**
* Signals that a meter has been added.
@@ -41,19 +33,15 @@
METER_UPDATED,
/**
- * Signals that a meter addition failed.
- */
- METER_ADD_FAILED,
-
- /**
- * Signals that a meter removal failed.
- */
- METER_REMOVE_FAILED,
-
- /**
* Signals that a meter update failed.
*/
- METER_UPDATE_FAILED
+ METER_OP_FAILED,
+
+ /**
+ * A meter operation was requested.
+ */
+ METER_OP_REQ,
+
}
@@ -62,21 +50,32 @@
* current time.
*
* @param type meter event type
- * @param meter event subject
+ * @param op event subject
*/
- public MeterEvent(Type type, Meter meter) {
- super(type, meter);
+ public MeterEvent(Type type, MeterOperation op) {
+ super(type, op);
+ this.reason = null;
}
/**
* Creates an event of a given type and for the specified meter and time.
*
* @param type meter event type
- * @param meter event subject
+ * @param op event subject
* @param time occurrence time
*/
- public MeterEvent(Type type, Meter meter, long time) {
- super(type, meter, time);
+ public MeterEvent(Type type, MeterOperation op, long time) {
+ super(type, op, time);
+ this.reason = null;
+ }
+
+ public MeterEvent(Type type, MeterOperation op, MeterFailReason reason) {
+ super(type, op);
+ this.reason = reason;
+ }
+
+ public MeterFailReason reason() {
+ return reason;
}
}