From c598f75a71e141ca8738a4c11cd8d93dd7ae5dd3 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Mon, 26 Nov 2007 21:48:37 +0000 Subject: Switched all regular PersistentMessage* and PersistentMessage& to intrusive_ptr, so as to hook into the refcount for a message while it is in the store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@598440 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/MessageStoreModule.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'cpp/src/qpid/broker/MessageStoreModule.h') diff --git a/cpp/src/qpid/broker/MessageStoreModule.h b/cpp/src/qpid/broker/MessageStoreModule.h index 6738f0e539..e7404487b0 100644 --- a/cpp/src/qpid/broker/MessageStoreModule.h +++ b/cpp/src/qpid/broker/MessageStoreModule.h @@ -55,14 +55,17 @@ public: void unbind(const PersistableExchange& exchange, const PersistableQueue& queue, const std::string& key, const framing::FieldTable& args); void recover(RecoveryManager& queues); - void stage(PersistableMessage& msg); - void destroy(PersistableMessage& msg); - void appendContent(const PersistableMessage& msg, const std::string& data); + void stage(intrusive_ptr& msg); + void destroy(intrusive_ptr& msg); + void appendContent(intrusive_ptr& msg, const std::string& data); void loadContent(const qpid::broker::PersistableQueue& queue, - const PersistableMessage& msg, std::string& data, uint64_t offset, uint32_t length); + intrusive_ptr& msg, std::string& data, + uint64_t offset, uint32_t length); - void enqueue(TransactionContext* ctxt, PersistableMessage& msg, const PersistableQueue& queue); - void dequeue(TransactionContext* ctxt, PersistableMessage& msg, const PersistableQueue& queue); + void enqueue(TransactionContext* ctxt, intrusive_ptr& msg, + const PersistableQueue& queue); + void dequeue(TransactionContext* ctxt, intrusive_ptr& msg, + const PersistableQueue& queue); u_int32_t outstandingQueueAIO(const PersistableQueue& queue); void flush(const qpid::broker::PersistableQueue& queue); -- cgit v1.2.1