blob: 0e03767ac417fd08b2853d16eb116357f2824c2e [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.topology;
2
tomcfde0622014-09-09 11:02:42 -07003import org.onlab.onos.event.Event;
tomc1a38d32014-08-25 23:01:32 -07004import org.onlab.onos.net.provider.ProviderService;
tom0eb04ca2014-08-25 14:34:51 -07005
tomcfde0622014-09-09 11:02:42 -07006import java.util.List;
7
tom0eb04ca2014-08-25 14:34:51 -07008/**
9 * Means for injecting topology information into the core.
10 */
tomd7356722014-08-26 01:07:39 -070011public interface TopologyProviderService extends ProviderService<TopologyProvider> {
tom0eb04ca2014-08-25 14:34:51 -070012
13 // What can be conveyed in a topology that isn't by individual
14 // providers?
15
16 /**
17 * Signals the core that some aspect of the topology has changed.
18 *
19 * @param topoDescription information about topology
tomcfde0622014-09-09 11:02:42 -070020 * @param reasons events that triggered topology change
tom0eb04ca2014-08-25 14:34:51 -070021 */
tomcfde0622014-09-09 11:02:42 -070022 void topologyChanged(TopologyDescription topoDescription,
23 List<Event> reasons);
tom0eb04ca2014-08-25 14:34:51 -070024
25}