Move ID byte[] generation code to Event object
Change-Id: Iaf8812d8fa8d99f085dd4d4217a8ab6454608c2a
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 addd695..e4caee5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
@@ -1,5 +1,7 @@
package net.onrc.onos.ofcontroller.networkgraph;
+import java.nio.ByteBuffer;
+
/**
* Self-contained Port event Object
*
@@ -52,4 +54,17 @@
return "[PortEvent 0x" + Long.toHexString(id.dpid) + "@" + id.number + "]";
}
+ public static final int PORTID_BYTES = SwitchEvent.SWITCHID_BYTES + 2 + 8;
+
+ public static byte[] getPortID(Long dpid, Long number) {
+ if (dpid == null) {
+ throw new IllegalArgumentException("dpid cannot be null");
+ }
+ if (number == null) {
+ throw new IllegalArgumentException("number cannot be null");
+ }
+ return ByteBuffer.allocate(PortEvent.PORTID_BYTES).putChar('S').putLong(dpid)
+ .putChar('P').putLong(number).array();
+ }
+
}