CORD-354 OF-DPA support for link-failures.
Bug fix in flowObjectives store. Adding a removeNextGroup API to the store.
Change-Id: I5890411e5b4eabdc057402687ada26e539500f8f
diff --git a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
index e8ea24f..87b1058 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
@@ -79,10 +79,9 @@
log.info("Stopped");
}
-
@Override
public void putNextGroup(Integer nextId, NextGroup group) {
- nextGroups.putIfAbsent(nextId, group.data());
+ nextGroups.put(nextId, group.data());
notifyDelegate(new ObjectiveEvent(ObjectiveEvent.Type.ADD, nextId));
}
@@ -96,6 +95,16 @@
}
@Override
+ public NextGroup removeNextGroup(Integer nextId) {
+ Versioned<byte[]> versionGroup = nextGroups.remove(nextId);
+ if (versionGroup != null) {
+ notifyDelegate(new ObjectiveEvent(ObjectiveEvent.Type.REMOVE, nextId));
+ return new DefaultNextGroup(versionGroup.value());
+ }
+ return null;
+ }
+
+ @Override
public int allocateNextId() {
return (int) nextIds.incrementAndGet();
}