General link discovery module cleanup.
* Removed all events we don't use from the event system (switch and port
events, link updates)
* Refactored event interface to two separate methods to match the other event
interfaces
* Removed the LDUpdate class and moved all the event enums and classes to be
internal to the LinkDiscoveryManager
* Removed all LinkTypes we no longer used and moved the one remaining type
to the ILinkDiscoveryService. After this the ILinkDiscovery interface is
no longer needed.
* Made Link immutable
* Removed the linkdiscovery.internal package as it only contained one class
* Readability improvements to LinkDiscoveryManager
Change-Id: Ifae97879aadc49b70a7b3d2294dcc540538c2cfc
diff --git a/src/main/java/net/onrc/onos/core/linkdiscovery/ILinkDiscoveryListener.java b/src/main/java/net/onrc/onos/core/linkdiscovery/ILinkDiscoveryListener.java
index 484616e..88d832b 100644
--- a/src/main/java/net/onrc/onos/core/linkdiscovery/ILinkDiscoveryListener.java
+++ b/src/main/java/net/onrc/onos/core/linkdiscovery/ILinkDiscoveryListener.java
@@ -17,7 +17,28 @@
package net.onrc.onos.core.linkdiscovery;
-public interface ILinkDiscoveryListener extends ILinkDiscovery {
+/**
+ * Provides callbacks for link discovery events.
+ */
+public interface ILinkDiscoveryListener {
- public void linkDiscoveryUpdate(LDUpdate update);
+ /**
+ * Called when a new link is detected. A link discovery probe has been
+ * received on a port, and the link was not previously known to the link
+ * discovery manager.
+ *
+ * @param link the new link that was detected
+ */
+ public void linkAdded(Link link);
+
+ /**
+ * Called when a link is removed. The link may have been removed because it
+ * timed out (no probes received on the destination port for an interval),
+ * or because the port is no longer available for link discovery, either
+ * because the switch was removed, the port went down, or link discovery
+ * was disabled on the port.
+ *
+ * @param link the link that was removed
+ */
+ public void linkRemoved(Link link);
}