blob: 10b008e6cc86f2cd12a76a62e145cb89bb0a843f [file] [log] [blame]
Yuta HIGUCHI8b389a72014-07-18 13:50:00 -07001package net.onrc.onos.core.topology;
2
3import java.util.Collection;
4
5import net.floodlightcontroller.util.MACAddress;
6import net.onrc.onos.core.util.Dpid;
7import net.onrc.onos.core.util.LinkTuple;
8import net.onrc.onos.core.util.SwitchPort;
9
10/**
11 * Interface to reference internal self-contained elements.
12 */
13public interface TopologyInternal extends Topology {
14
15 /**
16 * Gets a SwitchEvent.
17 *
18 * @param dpid Switch DPID
19 * @return the SwitchEvent for the Switch DPID if found, otherwise null
20 */
21 public SwitchEvent getSwitchEvent(Dpid dpid);
22
23 /**
24 * Gets a PortEvent.
25 *
26 * @param port Port identifier
27 * @return the PortEvent for the Port identifier if found, otherwise null
28 */
29 public PortEvent getPortEvent(SwitchPort port);
30
31 /**
32 * Gets a LinkEvent.
33 *
34 * @param linkId Link identifier
35 * @return the LinkEvent for the Link identifier if found, otherwise null
36 */
37 public LinkEvent getLinkEvent(LinkTuple linkId);
38
39 /**
40 * Gets a LinkEvent.
41 *
42 * @param linkId Link identifier
43 * @param type type
44 * @return the LinkEvent for the Link identifier and type if found, otherwise null
45 */
46 public LinkEvent getLinkEvent(final LinkTuple linkId, final String type);
47
48 /**
49 * Gets a LinkEvent.
50 *
51 * @param linkId Link identifier
52 * @return Collection of LinkEvent
53 */
54 public Collection<LinkEvent> getLinkEvents(LinkTuple linkId);
55
56 /**
57 * Gets a HostEvent.
58 *
59 * @param mac MACAddress of the host
60 * @return the HostEvent for the MACAddress if found, otherwise null
61 */
62 public HostEvent getHostEvent(MACAddress mac);
63
64}