- Plugin sends Barrier msg every 100 async msgs (configurable thru config.ini: of...
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / flowprogrammer / IPluginInFlowProgrammerService.java
index 79924fc3ddb25bc1891262bb351324ffacd568ac..c72353055d1eb5db8dff3565bf69df3a0704bfe7 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.controller.sal.utils.Status;
  */
 public interface IPluginInFlowProgrammerService {
     /**
-     * Add a flow to the network node
+     * Synchronously add a flow to the network node
      * 
      * @param node
      * @param flow
@@ -26,7 +26,7 @@ public interface IPluginInFlowProgrammerService {
     Status addFlow(Node node, Flow flow);
 
     /**
-     * Modify existing flow on the switch
+     * Synchronously modify existing flow on the switch
      * 
      * @param node
      * @param flow
@@ -34,17 +34,51 @@ public interface IPluginInFlowProgrammerService {
     Status modifyFlow(Node node, Flow oldFlow, Flow newFlow);
 
     /**
-     * Remove the flow from the network node
+     * Synchronously remove the flow from the network node
      * 
      * @param node
      * @param flow
      */
     Status removeFlow(Node node, Flow flow);
 
+    /**
+     * Asynchronously add a flow to the network node
+     * 
+     * @param node
+     * @param flow
+     * @param rid
+     */
+    Status addFlowAsync(Node node, Flow flow, long rid);
+
+    /**
+     * Asynchronously modify existing flow on the switch
+     * 
+     * @param node
+     * @param flow
+     * @param rid
+     */
+    Status modifyFlowAsync(Node node, Flow oldFlow, Flow newFlow, long rid);
+
+    /**
+     * Asynchronously remove the flow from the network node
+     * 
+     * @param node
+     * @param flow
+     * @param rid
+     */
+    Status removeFlowAsync(Node node, Flow flow, long rid);
+
     /**
      * Remove all flows present on the network node
      * 
      * @param node
      */
     Status removeAllFlows(Node node);
+
+    /**
+     * Send synchronous Barrier message 
+     * 
+     * @param node
+     */
+    Status sendBarrierMessage(Node node);
 }