- Application is no longer blocked when programming hundreds of flows. The Barrier...
[controller.git] / opendaylight / forwardingrulesmanager / api / src / main / java / org / opendaylight / controller / forwardingrulesmanager / IForwardingRulesManager.java
index 78917c9c807752232c9e8af4d25f007fd1f7446b..087c0bc878b7140e4d409dc14ba5cad1b0b19b5d 100644 (file)
@@ -145,17 +145,24 @@ public interface IForwardingRulesManager {
     public Status modifyOrAddFlowEntryAsync(FlowEntry newone);
 
     /**
-     * Requests ForwardingRulesManager to solicit the network node to inform
-     * us about the status of his execution on the asynchronous requests that
-     * were sent to it so far. It is a way for an application to poke the
-     * network node in order to get a feedback asap on the asynchronous
-     * requests generated by the application. It is a non-blocking call
-     * and does not guarantee the node will respond in any given time. 
+     * Requests ForwardingRulesManager to solicit the network node to inform us
+     * about the status of its execution on the asynchronous requests that were
+     * sent to it so far. It is a way for an application to poke the network
+     * node in order to get a feedback asap on the asynchronous requests
+     * generated by the application. The caller may decide if this is a blocking
+     * or non-blocking operation. If blocking is set to true, the caller will be
+     * blocked until the solicitation response is received from the network node
+     * or receive timeout. Otherwise, it is a non-blocking call and does not
+     * guarantee the node will respond in any given time.
      * 
      * @param node
-     *          The network node to solicit a response
+     *            The network node to solicit a response
+     * @param blocking
+     *            The blocking mode
+     * @return the status of this request containing the request id associated
+     *         to this asynchronous request
      */
-    public void solicitStatusResponse(Node node);
+    public Status solicitStatusResponse(Node node, boolean blocking);
 
     /**
      * Check whether the passed flow entry conflicts with the Container flows