You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/07/29 12:45:47 UTC

svn commit: r1693239 - /qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java

Author: rgodfrey
Date: Wed Jul 29 10:45:47 2015
New Revision: 1693239

URL: http://svn.apache.org/r1693239
Log:
QPID-6662 : expand the input buffer if the protocol engine requires more data than the default size before it can successfully process

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java?rev=1693239&r1=1693238&r2=1693239&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java Wed Jul 29 10:45:47 2015
@@ -358,9 +358,18 @@ public class NonBlockingConnection imple
         }
         else
         {
-            // compact into new buffer
-            _netInputBuffer = ByteBuffer.allocateDirect(_receiveBufferSize);
-            _netInputBuffer.put(duplicate);
+            if(duplicate.remaining() < _receiveBufferSize)
+            {
+                // compact into new buffer
+                _netInputBuffer = ByteBuffer.allocateDirect(_receiveBufferSize);
+                _netInputBuffer.put(duplicate);
+            }
+            else
+            {
+                // grow the buffer
+                _netInputBuffer = ByteBuffer.allocateDirect(_receiveBufferSize+_netInputBuffer.capacity());
+                _netInputBuffer.put(duplicate);
+            }
         }
         return readData;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org