diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2014-10-03 17:40:59 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2014-10-03 17:40:59 +0000 |
commit | 146fcaecb92b7579fa6927dceecfe32ab92378c4 (patch) | |
tree | 71d5b853a009f3462667049af5b0742b696cad9d /java/common/src/main/java/org/apache/qpid/framing/BasicPublishBody.java | |
parent | 49947bf1e2369fc1a989139f30885599c348466a (diff) | |
download | qpid-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.java | 22 |
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); + } } |