diff options
Diffstat (limited to 'java/common')
3 files changed, 13 insertions, 5 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: diff --git a/java/common/templates/model/ProtocolVersionListClass.vm b/java/common/templates/model/ProtocolVersionListClass.vm index 110342647e..78605c70ff 100644 --- a/java/common/templates/model/ProtocolVersionListClass.vm +++ b/java/common/templates/model/ProtocolVersionListClass.vm @@ -149,15 +149,20 @@ public class ProtocolVersion implements Comparable private static final ProtocolVersion _defaultVersion; + public static final ProtocolVersion v0_10 = new ProtocolVersion((byte)0,(byte)10); + #foreach( $version in $model.getVersionSet() ) #set( $versionId = "v$version.getMajor()_$version.getMinor()" ) - public static final ProtocolVersion $versionId = new ProtocolVersion((byte)$version.getMajor(),(byte)$version.getMinor()); + public static final ProtocolVersion $versionId = new ProtocolVersion((byte)$version.getMajor(),(byte)$version.getMinor()); #end + static { SortedSet<ProtocolVersion> versions = new TreeSet<ProtocolVersion>(); + versions.add(v0_10); + _nameToVersionMap.put("0-10", v0_10); #foreach( $version in $model.getVersionSet() ) #set( $versionId = "v$version.getMajor()_$version.getMinor()" ) versions.add($versionId); |
