tidy up addFlow futures
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / device / BarrierProcessor.java
index f88152c59044cbc833d1abd4a5b23a358be963f4..cdb2a79a77d160e7f3d2da751f0d606234b09cbb 100644 (file)
@@ -10,6 +10,9 @@ package org.opendaylight.openflowplugin.impl.device;
 
 import org.opendaylight.openflowplugin.api.openflow.device.RequestContext;
 import org.opendaylight.openflowplugin.api.openflow.device.handlers.OutstandingMessageExtractor;
+import org.opendaylight.openflowplugin.impl.services.RequestContextUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * openflowplugin-impl
@@ -23,6 +26,8 @@ import org.opendaylight.openflowplugin.api.openflow.device.handlers.OutstandingM
  */
 public class BarrierProcessor {
 
+    private static Logger LOG = LoggerFactory.getLogger(BarrierProcessor.class);
+
     /**
      * for all requestContexts from deviceContext cache which are older than barrier (lower barrierXid value) we do: <br>
      *     <ul>
@@ -34,9 +39,12 @@ public class BarrierProcessor {
      * @param messageExtractor
      */
     public static void processOutstandingRequests(final long barrierXid, final OutstandingMessageExtractor messageExtractor) {
+        LOG.trace("processing barrier response [{}]", barrierXid);
         RequestContext nextRequestContext;
         while ((nextRequestContext = messageExtractor.extractNextOutstandingMessage(barrierXid)) != null ) {
+            LOG.trace("flushing outstanding request [{}], closing", nextRequestContext.getXid().getValue());
             nextRequestContext.getFuture().cancel(false);
+            RequestContextUtil.closeRequstContext(nextRequestContext);
         }
     }
 }