tom | 95329eb | 2014-10-06 08:40:06 -0700 | [diff] [blame] | 1 | package org.onlab.onos.net.intent.impl; |
| 2 | |
| 3 | import org.onlab.onos.net.Link; |
| 4 | import org.onlab.onos.net.intent.IntentId; |
| 5 | |
| 6 | import java.util.Collection; |
| 7 | |
| 8 | /** |
| 9 | * Auxiliary service for tracking intent path flows and for notifying the |
| 10 | * intent service of environment changes via topology change delegate. |
| 11 | */ |
tom | 85258ee | 2014-10-07 00:10:02 -0700 | [diff] [blame] | 12 | public interface ObjectiveTrackerService { |
tom | 95329eb | 2014-10-06 08:40:06 -0700 | [diff] [blame] | 13 | |
| 14 | /** |
| 15 | * Sets a topology change delegate. |
| 16 | * |
| 17 | * @param delegate topology change delegate |
| 18 | */ |
| 19 | void setDelegate(TopologyChangeDelegate delegate); |
| 20 | |
| 21 | /** |
| 22 | * Unsets topology change delegate. |
| 23 | * |
| 24 | * @param delegate topology change delegate |
| 25 | */ |
| 26 | void unsetDelegate(TopologyChangeDelegate delegate); |
| 27 | |
| 28 | /** |
| 29 | * Adds a path flow to be tracked. |
| 30 | * |
| 31 | * @param intentId intent identity on whose behalf the path is being tracked |
| 32 | * @param resources resources to track |
| 33 | */ |
| 34 | public void addTrackedResources(IntentId intentId, Collection<Link> resources); |
| 35 | |
| 36 | /** |
| 37 | * Removes a path flow to be tracked. |
| 38 | * |
| 39 | * @param intentId intent identity on whose behalf the path is being tracked |
| 40 | * @param resources resources to stop tracking |
| 41 | */ |
| 42 | public void removeTrackedResources(IntentId intentId, Collection<Link> resources); |
| 43 | |
| 44 | } |