Flow Objective implementation
Provides an abstraction which isolates the application from any pipeline
knowledge. By using the provided objectives applications can express
their forwarding desires in a pipeline agnostic way. The objectives
are then consumed by a driver for the specific device who converts them
into the appropriate pipeline coherent flows.
Change-Id: I74a68b4971c367c0cd5b7de9d877abdd117afa98
diff --git a/core/api/src/main/java/org/onosproject/net/behaviour/Pipeliner.java b/core/api/src/main/java/org/onosproject/net/behaviour/Pipeliner.java
index eda131a..dcfc588 100644
--- a/core/api/src/main/java/org/onosproject/net/behaviour/Pipeliner.java
+++ b/core/api/src/main/java/org/onosproject/net/behaviour/Pipeliner.java
@@ -21,9 +21,6 @@
import org.onosproject.net.flowobjective.ForwardingObjective;
import org.onosproject.net.flowobjective.NextObjective;
-import java.util.Collection;
-import java.util.concurrent.Future;
-
/**
* Behaviour for handling various pipelines.
*/
@@ -40,24 +37,21 @@
/**
* Installs the filtering rules onto the device.
*
- * @param filterObjectives the collection of filters
- * @return a future indicating the success of the operation
+ * @param filterObjective a filtering objective
*/
- Future<Boolean> filter(Collection<FilteringObjective> filterObjectives);
+ void filter(FilteringObjective filterObjective);
/**
* Installs the forwarding rules onto the device.
*
- * @param forwardObjectives the collection of forwarding objectives
- * @return a future indicating the success of the operation
+ * @param forwardObjective a forwarding objective
*/
- Future<Boolean> forward(Collection<ForwardingObjective> forwardObjectives);
+ void forward(ForwardingObjective forwardObjective);
/**
* Installs the next hop elements into the device.
*
- * @param nextObjectives the collection of next objectives
- * @return a future indicating the success of the operation
+ * @param nextObjective a next objectives
*/
- Future<Boolean> next(Collection<NextObjective> nextObjectives);
+ void next(NextObjective nextObjective);
}