diff --git a/core/api/src/main/java/org/onlab/onos/net/resource/LinkResourceStore.java b/core/api/src/main/java/org/onlab/onos/net/resource/LinkResourceStore.java index 30ea79c93c..59d1e19444 100644 --- a/core/api/src/main/java/org/onlab/onos/net/resource/LinkResourceStore.java +++ b/core/api/src/main/java/org/onlab/onos/net/resource/LinkResourceStore.java @@ -20,20 +20,52 @@ import java.util.Set; import org.onlab.onos.net.Link; import org.onlab.onos.net.intent.IntentId; - /** * Manages link resources. */ public interface LinkResourceStore { + /** + * Returns free resources for given link. + * + * @param link a target link + * @return free resources for given link + */ Set getFreeResources(Link link); + /** + * Allocates resources. + * + * @param allocations resources to be allocated + */ void allocateResources(LinkResourceAllocations allocations); + /** + * Releases resources. + * + * @param allocations resources to be released + */ void releaseResources(LinkResourceAllocations allocations); + /** + * Returns resources allocated for an Intent. + * + * @param intentId the target Intent's ID + * @return allocated resources + */ LinkResourceAllocations getAllocations(IntentId intentId); + /** + * Returns resources allocated for a link. + * + * @param link the target link + * @return allocated resources + */ Iterable getAllocations(Link link); + /** + * Returns all allocated resources. + * + * @return allocated resources + */ Iterable getAllocations(); }