Add K-shortest path API to PathService.
Change-Id: I96732666f31a7a2b2df9a16f63e77bc0a367da83
diff --git a/core/api/src/main/java/org/onosproject/net/topology/TopologyService.java b/core/api/src/main/java/org/onosproject/net/topology/TopologyService.java
index 76ae91e..70a38f9 100644
--- a/core/api/src/main/java/org/onosproject/net/topology/TopologyService.java
+++ b/core/api/src/main/java/org/onosproject/net/topology/TopologyService.java
@@ -23,6 +23,8 @@
import org.onosproject.net.Link;
import org.onosproject.net.Path;
+import static org.onosproject.net.topology.HopCountLinkWeigher.DEFAULT_HOP_COUNT_WEIGHER;
+
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;
@@ -158,8 +160,19 @@
* Returns the k-shortest paths between source and
* destination devices.
*
- * The first {@code maxPaths} paths will be returned
- * in ascending order according to the provided {@code weigher}
+ * @param topology topology descriptor
+ * @param src source device
+ * @param dst destination device
+ * @return stream of k-shortest paths
+ */
+ default Stream<Path> getKShortestPaths(Topology topology,
+ DeviceId src, DeviceId dst) {
+ return getKShortestPaths(topology, src, dst, DEFAULT_HOP_COUNT_WEIGHER);
+ }
+
+ /**
+ * Returns the k-shortest paths between source and
+ * destination devices.
*
* @param topology topology descriptor
* @param src source device