blob: b96de7cd43af14e2b3456087ff026f99260f35aa [file] [log] [blame]
tom95329eb2014-10-06 08:40:06 -07001package org.onlab.onos.net.intent.impl;
2
3import org.onlab.onos.net.Link;
4import org.onlab.onos.net.intent.IntentId;
5
6import 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 */
12public interface FlowTrackerService {
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}