Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTable.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTable.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTable.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTable.java Wed Jan 6 16:16:11 2016 @@ -20,7 +20,6 @@ */ package org.apache.qpid.framing; -import java.io.IOException; import java.math.BigDecimal; import java.util.Collection; import java.util.Collections; @@ -38,7 +37,6 @@ import org.slf4j.LoggerFactory; import org.apache.qpid.AMQPInvalidClassException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class FieldTable { @@ -50,7 +48,6 @@ public class FieldTable private Map<AMQShortString, AMQTypedValue> _properties = null; private long _encodedSize; private static final int INITIAL_HASHMAP_CAPACITY = 16; - private static final int INITIAL_ENCODED_FORM_SIZE = 256; private final boolean _strictAMQP; public FieldTable() @@ -76,10 +73,11 @@ public class FieldTable } } - public FieldTable(MarkableDataInput input, int len) throws IOException + public FieldTable(QpidByteBuffer input, int len) { this(); - _encodedForm = input.readAsByteBuffer(len); + _encodedForm = input.view(0,len); + input.position(input.position()+len); _encodedSize = len; } @@ -135,12 +133,6 @@ public class FieldTable _logger.error("Error decoding FieldTable in deferred decoding mode ", e); throw new IllegalArgumentException(e); } - catch (IOException e) - { - _logger.error("Unexpected IO exception decoding field table"); - throw new IllegalArgumentException(e); - - } } private AMQTypedValue setProperty(AMQShortString key, AMQTypedValue val) @@ -834,7 +826,7 @@ public class FieldTable } } - EncodingUtils.writeUnsignedInteger(buffer, getEncodedSize()); + buffer.putUnsignedInt(getEncodedSize()); putDataInBuffer(buffer); } @@ -1142,11 +1134,10 @@ public class FieldTable } - private void setFromBuffer() throws AMQFrameDecodingException, IOException + private void setFromBuffer() throws AMQFrameDecodingException { final QpidByteBuffer slice = _encodedForm.slice(); - MarkableDataInput dataInput = slice.asDataInput(); if (_encodedSize > 0) { @@ -1157,12 +1148,12 @@ public class FieldTable do { - final AMQShortString key = dataInput.readAMQShortString(); - AMQTypedValue value = AMQTypedValue.readFromBuffer(dataInput); + final AMQShortString key = AMQShortString.readAMQShortString(slice); + AMQTypedValue value = AMQTypedValue.readFromBuffer(slice); _properties.put(key, value); } - while (dataInput.available() > 0); + while (slice.hasRemaining()); } slice.dispose();
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTableFactory.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTableFactory.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTableFactory.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/FieldTableFactory.java Wed Jan 6 16:16:11 2016 @@ -20,9 +20,6 @@ */ package org.apache.qpid.framing; -import java.io.DataInput; -import java.io.IOException; - public class FieldTableFactory { private FieldTableFactory() Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java Wed Jan 6 16:16:11 2016 @@ -24,7 +24,7 @@ import java.io.DataInputStream; import java.io.IOException; import org.apache.qpid.QpidException; -import org.apache.qpid.codec.MarkableDataInput; +import org.apache.qpid.bytebuffer.QpidByteBuffer; import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; import org.apache.qpid.transport.ByteBufferSender; @@ -84,14 +84,14 @@ public class HeartbeatBody implements AM } public static void process(final int channel, - final MarkableDataInput in, + final QpidByteBuffer in, final MethodProcessor processor, - final long bodySize) throws IOException + final long bodySize) { if(bodySize > 0) { - in.skip(bodySize); + in.position(in.position()+(int)bodySize); } processor.receiveHeartbeat(); } Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java Wed Jan 6 16:16:11 2016 @@ -20,14 +20,12 @@ */ package org.apache.qpid.framing; -import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.util.Arrays; import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; import org.apache.qpid.transport.ByteBufferSender; public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQDataBlock @@ -63,17 +61,18 @@ public class ProtocolInitiation extends pv.equals(ProtocolVersion.v0_91) ? 1 : pv.getMinorVersion()); } - public ProtocolInitiation(MarkableDataInput in) throws IOException + public ProtocolInitiation(QpidByteBuffer in) { _protocolHeader = new byte[4]; - in.read(_protocolHeader); + in.get(_protocolHeader); - _protocolClass = in.readByte(); - _protocolInstance = in.readByte(); - _protocolMajor = in.readByte(); - _protocolMinor = in.readByte(); + _protocolClass = in.get(); + _protocolInstance = in.get(); + _protocolMajor = in.get(); + _protocolMinor = in.get(); } + public long getSize() { return 4 + 1 + 1 + 1 + 1; @@ -143,13 +142,11 @@ public class ProtocolInitiation extends /** * * @param in input buffer - * @return true if we have enough data to decode the PI frame fully, false if more - * data is required - * @throws IOException if there is an issue reading the input + * @return number of extra octets of data required data to decode the PI frame fully */ - public boolean decodable(MarkableDataInput in) throws IOException + public int decodable(QpidByteBuffer in) { - return (in.available() >= 8); + return (in.remaining() >= 8) ? 0 : 8 - in.remaining(); } } Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueBindBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -47,17 +44,6 @@ public class QueueBindBody extends AMQMe private final byte _bitfield0; // [nowait] private final FieldTable _arguments; // [arguments] - // Constructor - public QueueBindBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _ticket = buffer.readUnsignedShort(); - _queue = buffer.readAMQShortString(); - _exchange = buffer.readAMQShortString(); - _routingKey = buffer.readAMQShortString(); - _bitfield0 = buffer.readByte(); - _arguments = EncodingUtils.readFieldTable(buffer); - } - public QueueBindBody( int ticket, AMQShortString queue, @@ -165,15 +151,15 @@ public class QueueBindBody extends AMQMe return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ServerChannelMethodProcessor dispatcher) throws IOException, AMQFrameDecodingException + public static void process(final QpidByteBuffer buffer, + final ServerChannelMethodProcessor dispatcher) throws AMQFrameDecodingException { - int ticket = buffer.readUnsignedShort(); - AMQShortString queue = buffer.readAMQShortString(); - AMQShortString exchange = buffer.readAMQShortString(); - AMQShortString bindingKey = buffer.readAMQShortString(); - boolean nowait = (buffer.readByte() & 0x01) == 0x01; + int ticket = buffer.getUnsignedShort(); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + AMQShortString exchange = AMQShortString.readAMQShortString(buffer); + AMQShortString bindingKey = AMQShortString.readAMQShortString(buffer); + boolean nowait = (buffer.get() & 0x01) == 0x01; FieldTable arguments = EncodingUtils.readFieldTable(buffer); if(!dispatcher.ignoreAllButCloseOk()) { Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindOkBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindOkBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindOkBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueBindOkBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueBindOkBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -41,11 +38,6 @@ public class QueueBindOkBody extends AMQ // Fields declared in specification - // Constructor - public QueueBindOkBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - } - public QueueBindOkBody( ) { Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueDeclareBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -45,15 +42,6 @@ public class QueueDeclareBody extends AM private final byte _bitfield0; // [passive, durable, exclusive, autoDelete, nowait] private final FieldTable _arguments; // [arguments] - // Constructor - public QueueDeclareBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _ticket = buffer.readUnsignedShort(); - _queue = buffer.readAMQShortString(); - _bitfield0 = buffer.readByte(); - _arguments = EncodingUtils.readFieldTable(buffer); - } - public QueueDeclareBody( int ticket, AMQShortString queue, @@ -191,13 +179,13 @@ public class QueueDeclareBody extends AM return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ServerChannelMethodProcessor dispatcher) throws IOException, AMQFrameDecodingException + public static void process(final QpidByteBuffer buffer, + final ServerChannelMethodProcessor dispatcher) throws AMQFrameDecodingException { - int ticket = buffer.readUnsignedShort(); - AMQShortString queue = buffer.readAMQShortString(); - byte bitfield = buffer.readByte(); + int ticket = buffer.getUnsignedShort(); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + byte bitfield = buffer.get(); boolean passive = (bitfield & 0x01 ) == 0x01; boolean durable = (bitfield & 0x02 ) == 0x02; Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareOkBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareOkBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareOkBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeclareOkBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueDeclareOkBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -44,14 +41,6 @@ public class QueueDeclareOkBody extends private final long _messageCount; // [messageCount] private final long _consumerCount; // [consumerCount] - // Constructor - public QueueDeclareOkBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _queue = buffer.readAMQShortString(); - _messageCount = EncodingUtils.readUnsignedInteger(buffer); - _consumerCount = EncodingUtils.readUnsignedInteger(buffer); - } - public QueueDeclareOkBody( AMQShortString queue, long messageCount, @@ -120,12 +109,12 @@ public class QueueDeclareOkBody extends return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ClientChannelMethodProcessor dispatcher) throws IOException + public static void process(final QpidByteBuffer buffer, + final ClientChannelMethodProcessor dispatcher) { - AMQShortString queue = buffer.readAMQShortString(); - long messageCount = EncodingUtils.readUnsignedInteger(buffer); - long consumerCount = EncodingUtils.readUnsignedInteger(buffer); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + long messageCount = buffer.getUnsignedInt(); + long consumerCount = buffer.getUnsignedInt(); if(!dispatcher.ignoreAllButCloseOk()) { dispatcher.receiveQueueDeclareOk(queue, messageCount, consumerCount); Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueDeleteBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -44,14 +41,6 @@ public class QueueDeleteBody extends AMQ private final AMQShortString _queue; // [queue] private final byte _bitfield0; // [ifUnused, ifEmpty, nowait] - // Constructor - public QueueDeleteBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _ticket = buffer.readUnsignedShort(); - _queue = buffer.readAMQShortString(); - _bitfield0 = buffer.readByte(); - } - public QueueDeleteBody( int ticket, AMQShortString queue, @@ -151,13 +140,13 @@ public class QueueDeleteBody extends AMQ return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ServerChannelMethodProcessor dispatcher) throws IOException + public static void process(final QpidByteBuffer buffer, + final ServerChannelMethodProcessor dispatcher) { - int ticket = buffer.readUnsignedShort(); - AMQShortString queue = buffer.readAMQShortString(); - byte bitfield = buffer.readByte(); + int ticket = buffer.getUnsignedShort(); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + byte bitfield = buffer.get(); boolean ifUnused = (bitfield & 0x01) == 0x01; boolean ifEmpty = (bitfield & 0x02) == 0x02; Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteOkBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteOkBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteOkBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueDeleteOkBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueDeleteOkBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -42,12 +39,6 @@ public class QueueDeleteOkBody extends A // Fields declared in specification private final long _messageCount; // [messageCount] - // Constructor - public QueueDeleteOkBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _messageCount = EncodingUtils.readUnsignedInteger(buffer); - } - public QueueDeleteOkBody( long messageCount ) @@ -95,10 +86,10 @@ public class QueueDeleteOkBody extends A return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ClientChannelMethodProcessor dispatcher) throws IOException + public static void process(QpidByteBuffer buffer, + final ClientChannelMethodProcessor dispatcher) { - long messageCount = EncodingUtils.readUnsignedInteger(buffer); + long messageCount = buffer.getUnsignedInt(); if(!dispatcher.ignoreAllButCloseOk()) { dispatcher.receiveQueueDeleteOk(messageCount); Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueuePurgeBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -44,14 +41,6 @@ public class QueuePurgeBody extends AMQM private final AMQShortString _queue; // [queue] private final byte _bitfield0; // [nowait] - // Constructor - public QueuePurgeBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _ticket = buffer.readUnsignedShort(); - _queue = buffer.readAMQShortString(); - _bitfield0 = buffer.readByte(); - } - public QueuePurgeBody( int ticket, AMQShortString queue, @@ -125,13 +114,13 @@ public class QueuePurgeBody extends AMQM return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ServerChannelMethodProcessor dispatcher) throws IOException + public static void process(final QpidByteBuffer buffer, + final ServerChannelMethodProcessor dispatcher) { - int ticket = buffer.readUnsignedShort(); - AMQShortString queue = buffer.readAMQShortString(); - boolean nowait = (buffer.readByte() & 0x01) == 0x01; + int ticket = buffer.getUnsignedShort(); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + boolean nowait = (buffer.get() & 0x01) == 0x01; if(!dispatcher.ignoreAllButCloseOk()) { dispatcher.receiveQueuePurge(queue, nowait); Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeOkBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeOkBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeOkBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueuePurgeOkBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueuePurgeOkBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -42,12 +39,6 @@ public class QueuePurgeOkBody extends AM // Fields declared in specification private final long _messageCount; // [messageCount] - // Constructor - public QueuePurgeOkBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _messageCount = EncodingUtils.readUnsignedInteger(buffer); - } - public QueuePurgeOkBody( long messageCount ) @@ -95,10 +86,10 @@ public class QueuePurgeOkBody extends AM return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ClientChannelMethodProcessor dispatcher) throws IOException + public static void process(final QpidByteBuffer buffer, + final ClientChannelMethodProcessor dispatcher) { - long messageCount = EncodingUtils.readUnsignedInteger(buffer); + long messageCount = buffer.getUnsignedInt(); if(!dispatcher.ignoreAllButCloseOk()) { dispatcher.receiveQueuePurgeOk(messageCount); Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindBody.java Wed Jan 6 16:16:11 2016 @@ -31,7 +31,6 @@ import java.io.IOException; import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueUnbindBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -46,16 +45,6 @@ public class QueueUnbindBody extends AMQ private final AMQShortString _routingKey; // [routingKey] private final FieldTable _arguments; // [arguments] - // Constructor - public QueueUnbindBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - _ticket = buffer.readUnsignedShort(); - _queue = buffer.readAMQShortString(); - _exchange = buffer.readAMQShortString(); - _routingKey = buffer.readAMQShortString(); - _arguments = EncodingUtils.readFieldTable(buffer); - } - public QueueUnbindBody( int ticket, AMQShortString queue, @@ -147,14 +136,14 @@ public class QueueUnbindBody extends AMQ return buf.toString(); } - public static void process(final MarkableDataInput buffer, - final ServerChannelMethodProcessor dispatcher) throws IOException, AMQFrameDecodingException + public static void process(final QpidByteBuffer buffer, + final ServerChannelMethodProcessor dispatcher) throws AMQFrameDecodingException { - int ticket = buffer.readUnsignedShort(); - AMQShortString queue = buffer.readAMQShortString(); - AMQShortString exchange = buffer.readAMQShortString(); - AMQShortString routingKey = buffer.readAMQShortString(); + int ticket = buffer.getUnsignedShort(); + AMQShortString queue = AMQShortString.readAMQShortString(buffer); + AMQShortString exchange = AMQShortString.readAMQShortString(buffer); + AMQShortString routingKey = AMQShortString.readAMQShortString(buffer); FieldTable arguments = EncodingUtils.readFieldTable(buffer); if(!dispatcher.ignoreAllButCloseOk()) { Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindOkBody.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindOkBody.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindOkBody.java (original) +++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/QueueUnbindOkBody.java Wed Jan 6 16:16:11 2016 @@ -27,11 +27,8 @@ package org.apache.qpid.framing; -import java.io.IOException; - import org.apache.qpid.QpidException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.codec.MarkableDataInput; public class QueueUnbindOkBody extends AMQMethodBodyImpl implements EncodableAMQDataBlock, AMQMethodBody { @@ -41,11 +38,6 @@ public class QueueUnbindOkBody extends A // Fields declared in specification - // Constructor - public QueueUnbindOkBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException - { - } - public QueueUnbindOkBody( ) { Modified: qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java (original) +++ qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java Wed Jan 6 16:16:11 2016 @@ -35,7 +35,10 @@ import org.apache.qpid.framing.AMQDataBl import org.apache.qpid.framing.AMQFrame; import org.apache.qpid.framing.AMQFrameDecodingException; import org.apache.qpid.framing.AMQProtocolVersionException; +import org.apache.qpid.framing.BasicContentHeaderProperties; import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.FieldTable; import org.apache.qpid.framing.FrameCreatingMethodProcessor; import org.apache.qpid.framing.HeartbeatBody; import org.apache.qpid.framing.ProtocolVersion; @@ -75,6 +78,36 @@ public class AMQDecoderTest extends Qpid } else { + fail("decode was not a frame"); + } + } + + + public void testContentHeaderPropertiesFrame() throws AMQProtocolVersionException, AMQFrameDecodingException, IOException + { + final BasicContentHeaderProperties props = new BasicContentHeaderProperties(); + final FieldTable table = new FieldTable(); + table.setString("hello","world"); + table.setInteger("1+1=",2); + props.setHeaders(table); + final AMQBody body = new ContentHeaderBody(props); + AMQFrame frame = new AMQFrame(1, body); + TestSender sender = new TestSender(); + frame.writePayload(sender); + ByteBuffer msg = ByteBufferUtils.combine(sender.getSentBuffers()); + + _decoder.decodeBuffer(msg); + List<AMQDataBlock> frames = _methodProcessor.getProcessedMethods(); + AMQDataBlock firstFrame = frames.get(0); + if (firstFrame instanceof AMQFrame) + { + assertEquals(ContentHeaderBody.TYPE, ((AMQFrame) firstFrame).getBodyFrame().getFrameType()); + BasicContentHeaderProperties decodedProps = ((ContentHeaderBody)((AMQFrame)firstFrame).getBodyFrame()).getProperties(); + final FieldTable headers = decodedProps.getHeaders(); + assertEquals("world", headers.getString("hello")); + } + else + { fail("decode was not a frame"); } } Modified: qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/BasicContentHeaderPropertiesTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/BasicContentHeaderPropertiesTest.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/BasicContentHeaderPropertiesTest.java (original) +++ qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/BasicContentHeaderPropertiesTest.java Wed Jan 6 16:16:11 2016 @@ -20,6 +20,7 @@ */ package org.apache.qpid.framing; +import org.apache.qpid.bytebuffer.QpidByteBuffer; import org.apache.qpid.test.utils.QpidTestCase; import java.io.ByteArrayInputStream; @@ -82,7 +83,7 @@ public class BasicContentHeaderPropertie public void testPopulatePropertiesFromBuffer() throws Exception { - ByteArrayDataInput buf = new ByteArrayDataInput(new byte[300]); + QpidByteBuffer buf = QpidByteBuffer.wrap(new byte[300]); _testProperties.populatePropertiesFromBuffer(buf, 99, 99); } Modified: qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/FieldTableTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/FieldTableTest.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/FieldTableTest.java (original) +++ qpid/java/trunk/common/src/test/java/org/apache/qpid/framing/FieldTableTest.java Wed Jan 6 16:16:11 2016 @@ -479,7 +479,7 @@ public class FieldTableTest extends Qpid // Extract the table back from the buffer again. try { - FieldTable extractedOuterTable = EncodingUtils.readFieldTable(buf.asDataInput()); + FieldTable extractedOuterTable = EncodingUtils.readFieldTable(buf); FieldTable extractedTable = extractedOuterTable.getFieldTable("innerTable"); Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java?rev=1723359&r1=1723358&r2=1723359&view=diff ============================================================================== --- qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java (original) +++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java Wed Jan 6 16:16:11 2016 @@ -19,7 +19,6 @@ */ package org.apache.qpid.transport; -import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -28,7 +27,6 @@ import java.net.Socket; import java.net.SocketTimeoutException; import org.apache.qpid.bytebuffer.QpidByteBuffer; -import org.apache.qpid.framing.ByteArrayDataInput; import org.apache.qpid.framing.HeartbeatBody; import org.apache.qpid.framing.ProtocolInitiation; import org.apache.qpid.framing.ProtocolVersion; @@ -71,7 +69,7 @@ public class ProtocolNegotiationTest ext -1, socket.getInputStream().read()); - ProtocolInitiation protocolInitiation = new ProtocolInitiation(new ByteArrayDataInput(receivedHeader)); + ProtocolInitiation protocolInitiation = new ProtocolInitiation(QpidByteBuffer.wrap(receivedHeader)); assertEquals("Unexpected protocol initialisation", _expectedProtocolInit, protocolInitiation.checkVersion()); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
