Make ByteBuffer wrapped ID available.
We often need ByteBuffer wrapped byte[] to use as a Map key.
So expose ByteBuffer used to build ID.
Change-Id: Ic4b73a779faacf262b44735d21111b279ac2467e
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
index f89cdf8..b926037 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
@@ -102,7 +102,7 @@
public static final int PORTID_BYTES = SwitchEvent.SWITCHID_BYTES + 2 + 8;
- public static byte[] getPortID(Long dpid, Long number) {
+ public static ByteBuffer getPortID(Long dpid, Long number) {
if (dpid == null) {
throw new IllegalArgumentException("dpid cannot be null");
}
@@ -110,10 +110,14 @@
throw new IllegalArgumentException("number cannot be null");
}
return ByteBuffer.allocate(PortEvent.PORTID_BYTES).putChar('S').putLong(dpid)
- .putChar('P').putLong(number).array();
+ .putChar('P').putLong(number);
}
public byte[] getID() {
+ return getPortID(getDpid(), getNumber()).array();
+ }
+
+ public ByteBuffer getIDasByteBuffer() {
return getPortID(getDpid(), getNumber());
}
}