Topology events related modifications:
* Added new class TopologyEvent which encapsulates one of the following
events: Switch event, Port event, Link event, Device event
* Added getID() method to the new TopologyEvent class, and to each
of the concrete topology related events.
* Added default constructors, because they are needed for Kryo-related
deserialization
* Added Kryo registration for the new classes.
Change-Id: I61233b3176a7124bdf9e906da9f5efdc663b3003
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java b/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
index 5998dcd..0d9f116 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
@@ -1,9 +1,16 @@
package net.onrc.onos.ofcontroller.util.serializers;
+import java.net.InetAddress;
import java.util.ArrayList;
import java.util.TreeMap;
import net.floodlightcontroller.util.MACAddress;
+import net.onrc.onos.ofcontroller.networkgraph.DeviceEvent;
+import net.onrc.onos.ofcontroller.networkgraph.LinkEvent;
+import net.onrc.onos.ofcontroller.networkgraph.PortEvent;
+import net.onrc.onos.ofcontroller.networkgraph.PortEvent.SwitchPort;
+import net.onrc.onos.ofcontroller.networkgraph.SwitchEvent;
+import net.onrc.onos.ofcontroller.networkgraph.TopologyEvent;
import net.onrc.onos.ofcontroller.topology.TopologyElement;
import net.onrc.onos.ofcontroller.util.CallerId;
import net.onrc.onos.ofcontroller.util.DataPath;
@@ -28,7 +35,7 @@
import net.onrc.onos.ofcontroller.util.IPv6Net;
import net.onrc.onos.ofcontroller.util.Port;
import net.onrc.onos.ofcontroller.util.Switch;
-import net.onrc.onos.ofcontroller.util.SwitchPort;
+// import net.onrc.onos.ofcontroller.util.SwitchPort;
import com.esotericsoftware.kryo.Kryo;
@@ -145,13 +152,22 @@
kryo.register(MACAddress.class);
kryo.register(Port.class);
kryo.register(Switch.class);
- kryo.register(SwitchPort.class);
+ // kryo.register(SwitchPort.class);
// Topology-related classes
kryo.register(TopologyElement.class);
kryo.register(TopologyElement.Type.class);
kryo.register(TreeMap.class);
+ // New data model-related classes
+ kryo.register(DeviceEvent.class);
+ kryo.register(InetAddress.class);
+ kryo.register(LinkEvent.class);
+ kryo.register(PortEvent.class);
+ kryo.register(PortEvent.SwitchPort.class);
+ kryo.register(SwitchEvent.class);
+ kryo.register(TopologyEvent.class);
+
return kryo;
}
}