blob: ed568e86ba2114b93c0ee398a39dd2f028388a4e [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.host;
2
tom7869ad92014-09-09 14:32:08 -07003import org.onlab.onos.net.HostId;
tomc1a38d32014-08-25 23:01:32 -07004import org.onlab.onos.net.provider.ProviderService;
tom0eb04ca2014-08-25 14:34:51 -07005
6/**
7 * Means of conveying host information to the core.
8 */
tomd7356722014-08-26 01:07:39 -07009public interface HostProviderService extends ProviderService<HostProvider> {
tom0eb04ca2014-08-25 14:34:51 -070010
tome33cc1a2014-08-25 21:59:41 -070011 /**
12 * Notifies the core when a host has been detected on a network along with
13 * information that identifies the hoot location.
14 *
tom7869ad92014-09-09 14:32:08 -070015 * @param hostId id of the host that been detected
tome33cc1a2014-08-25 21:59:41 -070016 * @param hostDescription description of host and its location
17 */
tom7869ad92014-09-09 14:32:08 -070018 void hostDetected(HostId hostId, HostDescription hostDescription);
tom0eb04ca2014-08-25 14:34:51 -070019
tome33cc1a2014-08-25 21:59:41 -070020 /**
21 * Notifies the core when a host is no longer detected on a network.
22 *
tom7869ad92014-09-09 14:32:08 -070023 * @param hostId id of the host that vanished
tome33cc1a2014-08-25 21:59:41 -070024 */
tom7869ad92014-09-09 14:32:08 -070025 void hostVanished(HostId hostId);
tome33cc1a2014-08-25 21:59:41 -070026
tom0eb04ca2014-08-25 14:34:51 -070027}