summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/network/nio/NioHandler.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/nio/NioHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/nio/NioHandler.java
index c5ba3b564d..a7339427c7 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/nio/NioHandler.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/nio/NioHandler.java
@@ -84,7 +84,7 @@ public class NioHandler implements Runnable
public void run()
{
- _readBuf = ByteBuffer.allocate(1024);
+ _readBuf = ByteBuffer.allocate(512);
long read = 0;
while(_ch.isConnected() && _ch.isOpen())
{
@@ -93,10 +93,12 @@ public class NioHandler implements Runnable
read = _ch.read(_readBuf);
if (read > 0)
{
- ByteBuffer b = _readBuf;
+ _readBuf.flip();
+ ByteBuffer b = ByteBuffer.allocate(_readBuf.remaining());
+ b.put(_readBuf);
b.flip();
- _receiver.received(b);
_readBuf.clear();
+ _receiver.received(b);
}
}
catch(Exception e)