blob: 889db03235d01bd09eab07c7d1f46fd132ca0538 [file] [log] [blame]
package net.onrc.onos.core.topology;
import java.util.Collection;
/**
* Interface which needs to be implemented to receive Topology events from
* the Topology.
*/
public interface ITopologyListener {
/**
* Topology events.
* <p/>
* The recommended ordering rules for applying/processing the events is:
* (a) Process "added" events before "removed" events.
* (b) The ordering of the "added" events should be:
* addedSwitchEvents, addedPortEvents, addedLinkEvents,
* addedDeviceEvents
* The above ordering guarantees that adding a port for example
* will be processed after the corresponding switch itself is added.
* (c) The ordering of the "removed" events should be:
* removedDeviceEvents, removedLinkEvents, removedPortEvents,
* removedSwitchEvents
* The above ordering guarantees that removing a port for example
* will be processed before the corresponding switch itself is
* removed.
*
* @param addedSwitchEvents the Added Switch Events.
* @param removedSwitchEvents the Removed Switch Events.
* @param addedPortEvents the Added Port Events.
* @param removedPortEvents the Removed Port Events.
* @param addedLinkEvents the Added Link Events.
* @param removedLinkEvents the Removed Link Events.
* @param addedDeviceEvents the Added Device Events.
* @param removedDeviceEvents the Removed Device Events.
*/
// CHECKSTYLE:OFF suppress warning about too many parameters
public void topologyEvents(Collection<SwitchEvent> addedSwitchEvents,
Collection<SwitchEvent> removedSwitchEvents,
Collection<PortEvent> addedPortEvents,
Collection<PortEvent> removedPortEvents,
Collection<LinkEvent> addedLinkEvents,
Collection<LinkEvent> removedLinkEvents,
Collection<DeviceEvent> addedDeviceEvents,
Collection<DeviceEvent> removedDeviceEvents);
// CHECKSTYLE:ON
}