[ONOS-3833] Added data structure to store load balance path info
Change-Id: Icf73a7c91652c2532db889fb4df70232a16650a2
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java
index 877cc6c..d455ff3 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java
@@ -19,7 +19,9 @@
import static com.google.common.base.Preconditions.checkNotNull;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
import com.google.common.collect.ImmutableList;
@@ -33,6 +35,7 @@
private final String name;
private final String description;
private final List<PortPairId> portPairList;
+ private final Map<PortPairId, Integer> portPairLoadMap;
/**
* Default constructor to create Port Pair Group.
@@ -52,6 +55,10 @@
this.name = name;
this.description = description;
this.portPairList = portPairList;
+ portPairLoadMap = new ConcurrentHashMap<>();
+ for (PortPairId portPairId : portPairList) {
+ portPairLoadMap.put(portPairId, new Integer(0));
+ }
}
@Override
@@ -80,6 +87,18 @@
}
@Override
+ public void addLoad(PortPairId portPairId) {
+ int load = portPairLoadMap.get(portPairId);
+ load = load + 1;
+ portPairLoadMap.put(portPairId, new Integer(load));
+ }
+
+ @Override
+ public int getLoad(PortPairId portPairId) {
+ return portPairLoadMap.get(portPairId);
+ }
+
+ @Override
public int hashCode() {
return Objects.hash(portPairGroupId, tenantId, name, description,
portPairList);