[AETHER-72] Refactoring RouteService
- to use bulk updates interface
- to use new getRoutesForNextHops API
- to use multi-thread resolver
- to use multi-thread hostexec
- to use a concurrent hashmap instead of synchronized
- to use a non-blocking resolved store
Additionally updates unit tests
Change-Id: Id960abd0f2a1b03066ce34b6a2f72b76566bb58c
diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java
index 130654b..fddd116 100644
--- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java
+++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java
@@ -37,6 +37,13 @@
void update(Route route);
/**
+ * Adds the routes to the route table.
+ *
+ * @param routes routes
+ */
+ void update(Collection<Route> routes);
+
+ /**
* Removes a route from the route table.
*
* @param route route
@@ -44,6 +51,13 @@
void remove(Route route);
/**
+ * Removes the routes from the route table.
+ *
+ * @param routes routes
+ */
+ void remove(Collection<Route> routes);
+
+ /**
* Replaces a route in the route table.
*
* @param route route
@@ -81,6 +95,14 @@
Collection<Route> getRoutesForNextHop(IpAddress nextHop);
/**
+ * Returns all routes that have the given next hops.
+ *
+ * @param nextHops next hops IP addresses
+ * @return collection of routes sets
+ */
+ Collection<RouteSet> getRoutesForNextHops(Collection<IpAddress> nextHops);
+
+ /**
* Releases route table resources held locally.
*/
void shutdown();