summaryrefslogtreecommitdiff
path: root/java/common/src
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
commit6a08007fcd1d0dd0f60a6ab7e2c3683858330181 (patch)
tree8e4c2f552ec8e0e89e560d7da6f31bf3a6de8ec6 /java/common/src
parentb82af4012c1412174c6719515cd8c6d7e7fd3c1b (diff)
downloadqpid-python-6a08007fcd1d0dd0f60a6ab7e2c3683858330181.tar.gz
merged the three writes in a single one
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@600501 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java16
1 files changed, 6 insertions, 10 deletions
diff --git a/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java b/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java
index ee936f6503..9f770bcb1c 100644
--- a/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java
+++ b/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);
}
}