BUG-3219: Throw away message as soon as we send it out
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / connection / OutboundQueueImpl.java
index ebf2a94dc6bf4f3b7c9d045552c4be5c728d6918..2433637f1bbc72148c89dafec2d38965f76d6759 100644 (file)
@@ -66,6 +66,9 @@ final class OutboundQueueImpl implements OutboundQueue {
         this.baseXid = baseXid;
         this.endXid = baseXid + queue.length;
         this.reserve = queue.length - 1;
+    }
+
+    void retire() {
         for (OutboundQueueEntry element : queue) {
             element.reset();
         }
@@ -88,7 +91,7 @@ final class OutboundQueueImpl implements OutboundQueue {
         }
 
         final int ro = reserveOffset;
-        Preconditions.checkArgument(offset < ro, "Unexpected commit to offset {} reserved {} message {}", offset, ro, message);
+        Preconditions.checkArgument(offset < ro, "Unexpected commit to offset %s reserved %s message %s", offset, ro, message);
 
         final OutboundQueueEntry entry = queue[offset];
         entry.commit(message, callback);
@@ -231,7 +234,7 @@ final class OutboundQueueImpl implements OutboundQueue {
                 return null;
             }
 
-            final OfHeader msg = entry.getMessage();
+            final OfHeader msg = entry.takeMessage();
             flushOffset++;
             if (msg != null) {
                 return msg;