diff options
author | Gordon Sim <gsim@apache.org> | 2007-03-30 15:50:07 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-03-30 15:50:07 +0000 |
commit | 72bca07ee53fb9476f268133f244d55d8f53d3b9 (patch) | |
tree | 6e8400200b22188899144a025ecb1a6c5922cc7b /qpid/cpp/lib/broker/BrokerMessageMessage.cpp | |
parent | 61c7761f005dacfc5938a4d4d25b7120a8e21620 (diff) | |
download | qpid-python-72bca07ee53fb9476f268133f244d55d8f53d3b9.tar.gz |
Refactored the MessageStore interface to restrict visibility of broker core from store implementations.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@524139 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/lib/broker/BrokerMessageMessage.cpp')
-rw-r--r-- | qpid/cpp/lib/broker/BrokerMessageMessage.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/qpid/cpp/lib/broker/BrokerMessageMessage.cpp b/qpid/cpp/lib/broker/BrokerMessageMessage.cpp index a50375cdd3..73ad961938 100644 --- a/qpid/cpp/lib/broker/BrokerMessageMessage.cpp +++ b/qpid/cpp/lib/broker/BrokerMessageMessage.cpp @@ -29,6 +29,7 @@ #include "framing/AMQFrame.h" #include "framing/FieldTable.h" #include "framing/BasicHeaderProperties.h" +#include "RecoveryManagerImpl.h" #include <algorithm> @@ -217,17 +218,17 @@ bool MessageMessage::isPersistent() return transfer->getDeliveryMode() == PERSISTENT; } -uint32_t MessageMessage::encodedSize() +uint32_t MessageMessage::encodedSize() const { return encodedHeaderSize() + encodedContentSize(); } -uint32_t MessageMessage::encodedHeaderSize() +uint32_t MessageMessage::encodedHeaderSize() const { - return transfer->size() - transfer->baseSize(); + return RecoveryManagerImpl::encodedMessageTypeSize() + transfer->size() - transfer->baseSize(); } -uint32_t MessageMessage::encodedContentSize() +uint32_t MessageMessage::encodedContentSize() const { return 0; } @@ -237,13 +238,14 @@ uint64_t MessageMessage::expectedContentSize() return 0; } -void MessageMessage::encode(Buffer& buffer) +void MessageMessage::encode(Buffer& buffer) const { encodeHeader(buffer); } -void MessageMessage::encodeHeader(Buffer& buffer) +void MessageMessage::encodeHeader(Buffer& buffer) const { + RecoveryManagerImpl::encodeMessageType(*this, buffer); if (transfer->getBody().isInline()) { transfer->encodeContent(buffer); } else { @@ -259,6 +261,9 @@ void MessageMessage::encodeHeader(Buffer& buffer) void MessageMessage::decodeHeader(Buffer& buffer) { + //don't care about the type here, but want encode/decode to be symmetric + RecoveryManagerImpl::decodeMessageType(buffer); + transfer->decodeContent(buffer); } @@ -269,7 +274,7 @@ void MessageMessage::decodeContent(Buffer& /*buffer*/, uint32_t /*chunkSize*/) MessageTransferBody* MessageMessage::copyTransfer(const ProtocolVersion& version, const string& destination, - const framing::Content& body) + const framing::Content& body) const { return new MessageTransferBody(version, transfer->getTicket(), |