blob: 70196608ea1025a16f4c6adb1cc0b271f7347b83 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.link;
2
tomeadbb462014-09-07 16:10:19 -07003import org.onlab.onos.net.ConnectPoint;
4import org.onlab.onos.net.DeviceId;
tomc1a38d32014-08-25 23:01:32 -07005import org.onlab.onos.net.provider.ProviderService;
tom0eb04ca2014-08-25 14:34:51 -07006
7/**
8 * Means for injecting link information into the core.
9 */
tomd7356722014-08-26 01:07:39 -070010public interface LinkProviderService extends ProviderService<LinkProvider> {
tom0eb04ca2014-08-25 14:34:51 -070011
12 /**
tomdb0d03f2014-08-27 16:34:15 -070013 * Signals that an infrastructure link has been detected.
tom0eb04ca2014-08-25 14:34:51 -070014 *
15 * @param linkDescription link information
16 */
tomdb0d03f2014-08-27 16:34:15 -070017 void linkDetected(LinkDescription linkDescription);
tom0eb04ca2014-08-25 14:34:51 -070018
19 /**
tomdb0d03f2014-08-27 16:34:15 -070020 * Signals that an infrastructure link has disappeared.
tom0eb04ca2014-08-25 14:34:51 -070021 *
22 * @param linkDescription link information
23 */
tomdb0d03f2014-08-27 16:34:15 -070024 void linkVanished(LinkDescription linkDescription);
tom0eb04ca2014-08-25 14:34:51 -070025
tomeadbb462014-09-07 16:10:19 -070026 /**
27 * Signals that infrastructure links associated with the specified
28 * connect point have vanished.
29 *
30 * @param connectPoint connect point
31 */
32 void linksVanished(ConnectPoint connectPoint);
33
34 /**
35 * Signals that infrastructure links associated with the specified
36 * device have vanished.
37 *
38 * @param deviceId device identifier
39 */
40 void linksVanished(DeviceId deviceId);
41
tom0eb04ca2014-08-25 14:34:51 -070042}