diff options
author | Gordon Sim <gsim@apache.org> | 2007-03-21 16:01:45 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-03-21 16:01:45 +0000 |
commit | df4faa062b3512312c78167bfbdf19ff969210ac (patch) | |
tree | 246a634754e2023df1692977fb9c347cba9795db /cpp/lib/broker/BrokerMessageMessage.h | |
parent | 9f994dad07799d26e9ecc7241863e7c48c952c99 (diff) | |
download | qpid-python-df4faa062b3512312c78167bfbdf19ff969210ac.tar.gz |
Modifications to allow messages produced by the message class to be persisted as well as those from the basic class.
Fix to broker initialisation (ensure queues use the correct store).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@520924 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib/broker/BrokerMessageMessage.h')
-rw-r--r-- | cpp/lib/broker/BrokerMessageMessage.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cpp/lib/broker/BrokerMessageMessage.h b/cpp/lib/broker/BrokerMessageMessage.h index 8a2ff3a063..a13a63a416 100644 --- a/cpp/lib/broker/BrokerMessageMessage.h +++ b/cpp/lib/broker/BrokerMessageMessage.h @@ -45,6 +45,7 @@ class MessageMessage: public Message{ MessageMessage(ConnectionToken* publisher, framing::RequestId, TransferPtr transfer); MessageMessage(ConnectionToken* publisher, framing::RequestId, TransferPtr transfer, ReferencePtr reference); + MessageMessage(); // Default destructor okay @@ -70,15 +71,22 @@ class MessageMessage: public Message{ const framing::FieldTable& getApplicationHeaders(); bool isPersistent(); + void encode(framing::Buffer& buffer); + void encodeHeader(framing::Buffer& buffer); uint32_t encodedSize(); uint32_t encodedHeaderSize(); uint32_t encodedContentSize(); uint64_t expectedContentSize(); + void decodeHeader(framing::Buffer& buffer); + void decodeContent(framing::Buffer& buffer, uint32_t contentChunkSize = 0); private: - void transferMessage(framing::ChannelAdapter& channel, - const std::string& consumerTag, - uint32_t framesize); + void transferMessage(framing::ChannelAdapter& channel, + const std::string& consumerTag, + uint32_t framesize); + framing::MessageTransferBody* copyTransfer(const framing::ProtocolVersion& version, + const std::string& destination, + const framing::Content& body); framing::RequestId requestId; const TransferPtr transfer; |