blob: b69cd8033358856d44101d602c4fc968a6dcf920 [file] [log] [blame]
Yuta HIGUCHIa536e762014-02-17 21:47:28 -08001package net.onrc.onos.ofcontroller.networkgraph;
2
Pavlin Radoslavov74986ce2014-02-20 13:17:20 -08003import java.util.Collection;
4
Yuta HIGUCHIa536e762014-02-17 21:47:28 -08005/**
6 * Interface which needs to be implemented to receive Topology events from
Pavlin Radoslavov74986ce2014-02-20 13:17:20 -08007 * the NetworkGraph.
Yuta HIGUCHIa536e762014-02-17 21:47:28 -08008 */
9public interface INetworkGraphListener {
Pavlin Radoslavov74986ce2014-02-20 13:17:20 -080010 /**
11 * Network Graph events.
12 *
Pavlin Radoslavovfdf34c72014-02-20 15:57:38 -080013 * The recommended ordering rules for applying/processing the events is:
14 * (a) Process "added" events before "removed" events.
15 * (b) The ordering of the "added" events should be:
16 * addedSwitchEvents, addedPortEvents, addedLinkEvents,
17 * addedDeviceEvents
18 * The above ordering guarantees that adding a port for example
19 * will be processed after the corresponding switch itself is added.
20 * (c) The ordering of the "removed" events should be:
21 * removedDeviceEvents, removedLinkEvents, removedPortEvents,
22 * removedSwitchEvents
23 * The above ordering guarantees that removing a port for example
24 * will be processed before the corresponding switch itself is
25 * removed.
26 *
Pavlin Radoslavov74986ce2014-02-20 13:17:20 -080027 * @param addedSwitchEvents the Added Switch Events.
28 * @param removedSwitchEvents the Removed Switch Events.
29 * @param addedPortEvents the Added Port Events.
30 * @param removedPortEvents the Removed Port Events.
31 * @param addedLinkEvents the Added Link Events.
32 * @param removedLinkEvents the Removed Link Events.
33 * @param addedDeviceEvents the Added Device Events.
34 * @param removedDeviceEvents the Removed Device Events.
35 */
36 public void networkGraphEvents(Collection<SwitchEvent> addedSwitchEvents,
37 Collection<SwitchEvent> removedSwitchEvents,
38 Collection<PortEvent> addedPortEvents,
39 Collection<PortEvent> removedPortEvents,
40 Collection<LinkEvent> addedLinkEvents,
41 Collection<LinkEvent> removedLinkEvents,
42 Collection<DeviceEvent> addedDeviceEvents,
43 Collection<DeviceEvent> removedDeviceEvents);
Yuta HIGUCHIa536e762014-02-17 21:47:28 -080044}