diff options
-rw-r--r-- | java/common/src/main/java/org/apache/qpidity/transport/network/Disassembler.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/java/common/src/main/java/org/apache/qpidity/transport/network/Disassembler.java b/java/common/src/main/java/org/apache/qpidity/transport/network/Disassembler.java index 709b4f0e02..da9ba84ab0 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/network/Disassembler.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/network/Disassembler.java @@ -80,6 +80,8 @@ public class Disassembler implements Sender<ConnectionEvent>, private void fragment(byte flags, SegmentType type, ConnectionEvent event, ByteBuffer buf, boolean first, boolean last) { + byte track = event.getProtocolEvent().getEncodedTrack() == Frame.L4 ? (byte) 1 : (byte) 0; + if(!buf.hasRemaining()) { //empty data @@ -90,9 +92,7 @@ public class Disassembler implements Sender<ConnectionEvent>, first = false; } nflags |= LAST_FRAME; - Frame frame = new Frame(nflags, type, - event.getProtocolEvent().getEncodedTrack(), - event.getChannel()); + Frame frame = new Frame(nflags, type, track, event.getChannel()); // frame.addFragment(buf); sender.send(frame); } @@ -115,9 +115,7 @@ public class Disassembler implements Sender<ConnectionEvent>, newflags |= LAST_FRAME; } - Frame frame = new Frame(newflags, type, - event.getProtocolEvent().getEncodedTrack(), - event.getChannel()); + Frame frame = new Frame(newflags, type, track, event.getChannel()); frame.addFragment(slice); sender.send(frame); } |