X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fflowprogrammer%2FIPluginInFlowProgrammerService.java;h=3c40b96cc74d240b116e3746a17820119e8b77b0;hp=79924fc3ddb25bc1891262bb351324ffacd568ac;hb=1bad1b7ca9a87f9e1d32cfcf5a181354fc378ad4;hpb=f6b70bf10eed6de95ec52bb6bf6f47d6bc7c9eaf diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/IPluginInFlowProgrammerService.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/IPluginInFlowProgrammerService.java index 79924fc3dd..3c40b96cc7 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/IPluginInFlowProgrammerService.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/IPluginInFlowProgrammerService.java @@ -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,59 @@ 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 Barrier message synchronously. The caller will be blocked until the + * Barrier reply arrives. + * + * @param node + */ + Status syncSendBarrierMessage(Node node); + + /** + * Send Barrier message asynchronously. The caller is not blocked. + * + * @param node + */ + Status asyncSendBarrierMessage(Node node); }