diff options
author | Gordon Sim <gsim@apache.org> | 2010-06-15 15:34:10 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2010-06-15 15:34:10 +0000 |
commit | 71f053b9172cfcd5b2487ca8d96356d6250b346a (patch) | |
tree | 2a2c94228fb71c69b46d4761f34c86cade6b88e8 /cpp/src/qpid/broker/Message.cpp | |
parent | 12785d64955afa6809e9f76ee7eb68724101c6e7 (diff) | |
download | qpid-python-71f053b9172cfcd5b2487ca8d96356d6250b346a.tar.gz |
QPID-2670: copy-on-write when tagging message for loop detection
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Message.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp index b086d59ca5..1e56544920 100644 --- a/cpp/src/qpid/broker/Message.cpp +++ b/cpp/src/qpid/broker/Message.cpp @@ -52,6 +52,12 @@ Message::Message(const framing::SequenceNumber& id) : expiration(FAR_FUTURE), enqueueCallback(0), dequeueCallback(0), inCallback(false), requiredCredit(0) {} +Message::Message(const Message& original) : + PersistableMessage(), frames(original.frames), persistenceId(0), redelivered(false), loaded(false), + staged(false), forcePersistentPolicy(false), publisher(0), adapter(0), + expiration(FAR_FUTURE), enqueueCallback(0), dequeueCallback(0), + inCallback(false), requiredCredit(0) {} + Message::~Message() { if (expiryPolicy) |