summaryrefslogtreecommitdiff
path: root/java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-10-03 17:40:59 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-10-03 17:40:59 +0000
commit146fcaecb92b7579fa6927dceecfe32ab92378c4 (patch)
tree71d5b853a009f3462667049af5b0742b696cad9d /java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java
parent49947bf1e2369fc1a989139f30885599c348466a (diff)
downloadqpid-python-146fcaecb92b7579fa6927dceecfe32ab92378c4.tar.gz
More refactoring
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-6125-ProtocolRefactoring@1629270 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java')
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java b/java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java
index 7d24492395..7920da8405 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java
@@ -48,10 +48,10 @@ public class BasicPublishBody extends AMQMethodBodyImpl implements EncodableAMQD
// Constructor
public BasicPublishBody(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException
{
- _ticket = readUnsignedShort( buffer );
- _exchange = readAMQShortString( buffer );
- _routingKey = readAMQShortString( buffer );
- _bitfield0 = readBitfield( buffer );
+ _ticket = buffer.readUnsignedShort();
+ _exchange = buffer.readAMQShortString();
+ _routingKey = buffer.readAMQShortString();
+ _bitfield0 = buffer.readByte();
}
public BasicPublishBody(
@@ -151,4 +151,18 @@ public class BasicPublishBody extends AMQMethodBodyImpl implements EncodableAMQD
return buf.toString();
}
+ public static <T> T process(final int channelId,
+ final MarkableDataInput buffer,
+ final MethodProcessor<T> dispatcher) throws IOException
+ {
+
+ int ticket = buffer.readUnsignedShort();
+ AMQShortString exchange = buffer.readAMQShortString();
+ AMQShortString routingKey = buffer.readAMQShortString();
+ byte bitfield = buffer.readByte();
+
+ boolean mandatory = (bitfield & 0x01) != 0;
+ boolean immediate = (bitfield & 0x02) != 0;
+ return dispatcher.basicPublish(channelId, exchange, routingKey, mandatory, immediate);
+ }
}