blob: d9c5c381fb1c183d2585bdb632ea3112e339cb22 [file] [log] [blame]
Jonathan Hart472062d2014-04-03 10:56:48 -07001package net.onrc.onos.core.topology;
Jonathan Hart22eb9882014-02-11 15:52:59 -08002
Pavlin Radoslavov018d5332014-02-19 23:08:35 -08003import java.util.Collection;
4
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -08005/**
6 * Interface used by the Topology Discovery module to write topology-related
7 * events.
8 */
Jonathan Harte37e4e22014-05-13 19:12:02 -07009public interface TopologyDiscoveryInterface {
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080010 /**
11 * Switch discovered event.
12 *
13 * @param switchEvent the switch event.
Ray Milkey269ffb92014-04-03 14:43:30 -070014 * @param portEvents the corresponding port events for the switch.
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080015 */
Pavlin Radoslavov018d5332014-02-19 23:08:35 -080016 public void putSwitchDiscoveryEvent(SwitchEvent switchEvent,
Ray Milkey269ffb92014-04-03 14:43:30 -070017 Collection<PortEvent> portEvents);
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080018
19 /**
20 * Switch removed event.
21 *
22 * @param switchEvent the switch event.
23 */
24 public void removeSwitchDiscoveryEvent(SwitchEvent switchEvent);
25
26 /**
27 * Port discovered event.
28 *
29 * @param portEvent the port event.
30 */
31 public void putPortDiscoveryEvent(PortEvent portEvent);
32
33 /**
34 * Port removed event.
35 *
36 * @param portEvent the port event.
37 */
38 public void removePortDiscoveryEvent(PortEvent portEvent);
39
40 /**
41 * Link discovered event.
42 *
43 * @param linkEvent the link event.
44 */
45 public void putLinkDiscoveryEvent(LinkEvent linkEvent);
46
47 /**
48 * Link removed event.
49 *
50 * @param linkEvent the link event.
51 */
52 public void removeLinkDiscoveryEvent(LinkEvent linkEvent);
53
54 /**
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070055 * Host discovered event.
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080056 *
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070057 * @param hostEvent the device event.
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080058 */
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070059 public void putHostDiscoveryEvent(HostEvent hostEvent);
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080060
61 /**
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070062 * Host removed event.
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080063 *
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070064 * @param hostEvent the device event.
Pavlin Radoslavov6ea84a42014-02-19 15:50:01 -080065 */
Yuta HIGUCHIbfc77f02014-07-14 22:50:25 -070066 public void removeHostDiscoveryEvent(HostEvent hostEvent);
Jonathan Hart22eb9882014-02-11 15:52:59 -080067}