From 5a0fddf5bc6a053bfcaff88a4d259fe5dd314146 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Wed, 16 Dec 2009 18:22:11 +0000 Subject: Added methods to set the message redelivered flag upon recovery git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@891362 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/RecoverableMessage.h | 1 + cpp/src/qpid/broker/RecoveryManagerImpl.cpp | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'cpp') diff --git a/cpp/src/qpid/broker/RecoverableMessage.h b/cpp/src/qpid/broker/RecoverableMessage.h index f755fdf727..c98857ceb0 100644 --- a/cpp/src/qpid/broker/RecoverableMessage.h +++ b/cpp/src/qpid/broker/RecoverableMessage.h @@ -37,6 +37,7 @@ class RecoverableMessage public: typedef boost::shared_ptr shared_ptr; virtual void setPersistenceId(uint64_t id) = 0; + virtual void setRedelivered() = 0; /** * Used by store to determine whether to load content on recovery * or let message load its own content as and when it requires it. diff --git a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp index 0369fcd71d..12ac2d2bfd 100644 --- a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp +++ b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp @@ -48,6 +48,7 @@ public: RecoverableMessageImpl(const intrusive_ptr& _msg, uint64_t _stagingThreshold); ~RecoverableMessageImpl() {}; void setPersistenceId(uint64_t id); + void setRedelivered(); bool loadContent(uint64_t available); void decodeContent(framing::Buffer& buffer); void recover(Queue::shared_ptr queue); @@ -187,6 +188,11 @@ void RecoverableMessageImpl::setPersistenceId(uint64_t id) msg->setPersistenceId(id); } +void RecoverableMessageImpl::setRedelivered() +{ + msg->redeliver(); +} + void RecoverableQueueImpl::recover(RecoverableMessage::shared_ptr msg) { dynamic_pointer_cast(msg)->recover(queue); -- cgit v1.2.1