diff options
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java | 8 | ||||
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpidity/transport/network/OutputHandler.java | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java index 191f900c02..7293193c02 100644 --- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java +++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java @@ -22,6 +22,7 @@ package org.apache.qpidity.transport.network; import java.nio.ByteBuffer; +import org.apache.qpidity.transport.Constant; import org.apache.qpidity.transport.ProtocolError; import org.apache.qpidity.transport.ProtocolHeader; import org.apache.qpidity.transport.Receiver; @@ -62,6 +63,7 @@ public class InputHandler implements Receiver<ByteBuffer> FRAME_HDR_RSVD5, FRAME_PAYLOAD, FRAME_FRAGMENT, + FRAME_END, ERROR; } @@ -189,7 +191,7 @@ public class InputHandler implements Receiver<ByteBuffer> buf.position(buf.position() + size); frame.addFragment(payload); frame(); - return FRAME_HDR; + return FRAME_END; } case FRAME_FRAGMENT: int delta = size - frame.getSize(); @@ -203,8 +205,10 @@ public class InputHandler implements Receiver<ByteBuffer> buf.position(buf.position() + delta); frame.addFragment(fragment); frame(); - return FRAME_HDR; + return FRAME_END; } + case FRAME_END: + return expect(buf, Constant.FRAME_END, FRAME_HDR); default: throw new IllegalStateException(); } 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 90bef36790..ee936f6503 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 @@ -22,6 +22,7 @@ package org.apache.qpidity.transport.network; import java.nio.ByteBuffer; +import org.apache.qpidity.transport.Constant; import org.apache.qpidity.transport.ProtocolError; import org.apache.qpidity.transport.ProtocolHeader; import org.apache.qpidity.transport.Sender; @@ -88,6 +89,10 @@ public class OutputHandler implements Sender<NetworkEvent>, NetworkDelegate { sender.send(buf); } + ByteBuffer end = ByteBuffer.allocate(1); + end.put((byte) Constant.FRAME_END); + end.flip(); + sender.send(end); } } |
