diff options
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Message.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp index 331bb5e716..7d02fb3d3c 100644 --- a/cpp/src/qpid/broker/Message.cpp +++ b/cpp/src/qpid/broker/Message.cpp @@ -37,12 +37,18 @@ using std::string; TransferAdapter Message::TRANSFER; -Message::Message(const SequenceNumber& id) : frames(id), persistenceId(0), redelivered(false), loaded(false), staged(false), publisher(0), adapter(0) {} +Message::Message(const SequenceNumber& id) : frames(id), persistenceId(0), redelivered(false), loaded(false), +staged(false), forcePersistentPolicy(false), publisher(0), adapter(0) {} Message::~Message() { } +void Message::forcePersistent() +{ + forcePersistentPolicy = true; +} + std::string Message::getRoutingKey() const { return getAdapter().getRoutingKey(frames); @@ -73,7 +79,7 @@ const FieldTable* Message::getApplicationHeaders() const bool Message::isPersistent() { - return getAdapter().isPersistent(frames); + return (getAdapter().isPersistent(frames) || forcePersistentPolicy); } bool Message::requiresAccept() |