diff options
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java')
-rw-r--r-- | framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java index be8c7cfc..0bd4d75d 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/topology/PathService.java @@ -15,9 +15,12 @@ */ package org.onosproject.net.topology; +import org.onosproject.net.DisjointPath; import org.onosproject.net.ElementId; +import org.onosproject.net.Link; import org.onosproject.net.Path; +import java.util.Map; import java.util.Set; /** @@ -41,11 +44,58 @@ public interface PathService { * edge-weight entity, between the specified source and destination * network elements. * - * @param src source element - * @param dst destination element + * @param src source element + * @param dst destination element * @param weight edge-weight entity * @return set of all shortest paths between the two element */ Set<Path> getPaths(ElementId src, ElementId dst, LinkWeight weight); + /** + * Returns the set of all disjoint shortest path pairs, precomputed in terms of hop-count, + * between the specified source and destination devices. + * + * @param src source device + * @param dst destination device + * @return set of all shortest paths between the two devices + */ + Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst); + + /** + * Returns the set of all disjoint shortest path pairs, computed using the supplied + * edge-weight entity, between the specified source and destination devices. + * + * @param src source device + * @param dst destination device + * @param weight edge-weight entity + * @return set of all shortest paths between the two devices + */ + Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst, + LinkWeight weight); + + /** + * Returns the set of all disjoint shortest path pairs, precomputed in terms of hop-count, + * between the specified source and destination devices. + * + * @param src source device + * @param dst destination device + * @param riskProfile map of edges to risk profiles + * @return set of all shortest paths between the two devices + */ + Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst, + Map<Link, Object> riskProfile); + + /** + * Returns the set of all disjoint shortest path pairs, precomputed in terms of hop-count, + * between the specified source and destination devices. + * + * @param src source device + * @param dst destination device + * @param weight edge-weight entity + * @param riskProfile map of edges to risk profiles + * @return set of all shortest paths between the two devices + */ + Set<DisjointPath> getDisjointPaths(ElementId src, ElementId dst, + LinkWeight weight, Map<Link, Object> riskProfile); + } |