summaryrefslogtreecommitdiff
path: root/qpid/java/common
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2007-12-03 12:14:48 +0000
committerArnaud Simon <arnaudsimon@apache.org>2007-12-03 12:14:48 +0000
commit5b8c575d62483215fc24ebf3fa323c88168c45b2 (patch)
treeb8b7f7fa13d6c5600adb1d376b119af8c6db2a08 /qpid/java/common
parentb4b0c9ac7608522c8d9edd5623d13e882525600d (diff)
downloadqpid-python-5b8c575d62483215fc24ebf3fa323c88168c45b2.tar.gz
merged the three writes in a single one
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@600501 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java16
1 files changed, 6 insertions, 10 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java
index ee936f6503..9f770bcb1c 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java
@@ -69,7 +69,7 @@ public class OutputHandler implements Sender<NetworkEvent>, NetworkDelegate
public void frame(Frame frame)
{
- ByteBuffer hdr = ByteBuffer.allocate(HEADER_SIZE);
+ ByteBuffer hdr = ByteBuffer.allocate(HEADER_SIZE + frame.getSize() + 1);
hdr.put(frame.getFlags());
hdr.put(frame.getType());
hdr.putShort((short) (frame.getSize() + HEADER_SIZE));
@@ -80,19 +80,15 @@ public class OutputHandler implements Sender<NetworkEvent>, NetworkDelegate
hdr.put(RESERVED);
hdr.put(RESERVED);
hdr.put(RESERVED);
+ for(ByteBuffer buf : frame)
+ {
+ hdr.put(buf);
+ }
+ hdr.put((byte) Constant.FRAME_END);
hdr.flip();
-
synchronized (lock)
{
sender.send(hdr);
- for (ByteBuffer buf : frame)
- {
- sender.send(buf);
- }
- ByteBuffer end = ByteBuffer.allocate(1);
- end.put((byte) Constant.FRAME_END);
- end.flip();
- sender.send(end);
}
}