diff options
| author | Arnaud Simon <arnaudsimon@apache.org> | 2007-12-03 12:14:48 +0000 |
|---|---|---|
| committer | Arnaud Simon <arnaudsimon@apache.org> | 2007-12-03 12:14:48 +0000 |
| commit | 6a08007fcd1d0dd0f60a6ab7e2c3683858330181 (patch) | |
| tree | 8e4c2f552ec8e0e89e560d7da6f31bf3a6de8ec6 /java/common/src | |
| parent | b82af4012c1412174c6719515cd8c6d7e7fd3c1b (diff) | |
| download | qpid-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.java | 16 |
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); } } |
