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]

Reply via email to