diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2009-12-18 16:23:19 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2009-12-18 16:23:19 +0000 |
| commit | 198b43a1d3d58356949029eb64995711a1026c9b (patch) | |
| tree | c387256a9ccf5d5765b2a1555b7b502c89308962 /java/common/src | |
| parent | 8a0e1af291ef3ae3361ec91e9f09637ab1f0627b (diff) | |
| download | qpid-python-198b43a1d3d58356949029eb64995711a1026c9b.tar.gz | |
QPID-2273 : Fix Protocol Negotiation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@892301 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java | 8 | ||||
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/network/InputHandler.java | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java b/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java index fa0c1e9c63..00ea55ff96 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java +++ b/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java @@ -39,13 +39,15 @@ public final class ProtocolHeader implements NetworkEvent, ProtocolEvent private static final byte[] AMQP = {'A', 'M', 'Q', 'P' }; private static final byte CLASS = 1; + final private byte protoClass; final private byte instance; final private byte major; final private byte minor; private int channel; - public ProtocolHeader(byte instance, byte major, byte minor) + public ProtocolHeader(byte protoClass, byte instance, byte major, byte minor) { + this.protoClass = protoClass; this.instance = instance; this.major = major; this.minor = minor; @@ -53,7 +55,7 @@ public final class ProtocolHeader implements NetworkEvent, ProtocolEvent public ProtocolHeader(int instance, int major, int minor) { - this((byte) instance, (byte) major, (byte) minor); + this(CLASS, (byte) instance, (byte) major, (byte) minor); } public byte getInstance() @@ -90,7 +92,7 @@ public final class ProtocolHeader implements NetworkEvent, ProtocolEvent { ByteBuffer buf = ByteBuffer.allocate(8); buf.put(AMQP); - buf.put(CLASS); + buf.put(protoClass); buf.put(instance); buf.put(major); buf.put(minor); diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/InputHandler.java b/java/common/src/main/java/org/apache/qpid/transport/network/InputHandler.java index 2132fc2c03..a2885f97bc 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/InputHandler.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/InputHandler.java @@ -144,10 +144,11 @@ public class InputHandler implements Receiver<ByteBuffer> return ERROR; } + byte protoClass = input.get(pos + 4); byte instance = input.get(pos + 5); byte major = input.get(pos + 6); byte minor = input.get(pos + 7); - receiver.received(new ProtocolHeader(instance, major, minor)); + receiver.received(new ProtocolHeader(protoClass, instance, major, minor)); needed = Frame.HEADER_SIZE; return FRAME_HDR; case FRAME_HDR: |
