Barrier turn on/off - no Barrier pipeline
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / connection / ConnectionAdapterImpl.java
index d22f2f0606033413a53e2930677b71478768739f..37635c033122dbb96a1d67500665ad5806f8b855 100644 (file)
@@ -47,7 +47,7 @@ public class ConnectionAdapterImpl extends AbstractConnectionAdapterStatistics i
     private ConnectionReadyListener connectionReadyListener;
     private OpenflowProtocolListener messageListener;
     private SystemNotificationsListener systemListener;
-    private OutboundQueueManager<?> outputManager;
+    private AbstractOutboundQueueManager<?, ?> outputManager;
     private OFVersionDetector versionDetector;
 
     private final boolean useBarrier;
@@ -192,11 +192,14 @@ public class ConnectionAdapterImpl extends AbstractConnectionAdapterStatistics i
             final T handler, final int maxQueueDepth, final long maxBarrierNanos) {
         Preconditions.checkState(outputManager == null, "Manager %s already registered", outputManager);
 
+        final AbstractOutboundQueueManager<T, ?> ret;
         if (useBarrier) {
-
+            ret = new OutboundQueueManager<>(this, address, handler, maxQueueDepth, maxBarrierNanos);
+        } else {
+            LOG.warn("OutboundQueueManager without barrier is started.");
+            ret = new OutboundQueueManagerNoBarrier<>(this, address, handler);
         }
 
-        final OutboundQueueManager<T> ret = new OutboundQueueManager<>(this, address, handler, maxQueueDepth, maxBarrierNanos);
         outputManager = ret;
         /* we don't need it anymore */
         channel.pipeline().remove(output);