blob: 15496ffb9b95aa28ddacbe0e141344cf644acc95 [file] [log] [blame]
package org.onlab.onos.net.intent.impl;
import org.onlab.onos.net.Link;
import org.onlab.onos.net.intent.IntentId;
import java.util.Collection;
/**
* Auxiliary service for tracking intent path flows and for notifying the
* intent service of environment changes via topology change delegate.
*/
public interface ObjectiveTrackerService {
/**
* Sets a topology change delegate.
*
* @param delegate topology change delegate
*/
void setDelegate(TopologyChangeDelegate delegate);
/**
* Unsets topology change delegate.
*
* @param delegate topology change delegate
*/
void unsetDelegate(TopologyChangeDelegate delegate);
/**
* Adds a path flow to be tracked.
*
* @param intentId intent identity on whose behalf the path is being tracked
* @param resources resources to track
*/
public void addTrackedResources(IntentId intentId, Collection<Link> resources);
/**
* Removes a path flow to be tracked.
*
* @param intentId intent identity on whose behalf the path is being tracked
* @param resources resources to stop tracking
*/
public void removeTrackedResources(IntentId intentId, Collection<Link> resources);
}