summaryrefslogtreecommitdiff
path: root/qpid/cpp/lib/broker/MessageStore.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-12-06 17:51:42 +0000
committerGordon Sim <gsim@apache.org>2006-12-06 17:51:42 +0000
commit293c124f6e49530a10e7b1c1bcb90e41ec05b420 (patch)
treea874947bfbcb1283833c4d3860f8aee3cf1a5350 /qpid/cpp/lib/broker/MessageStore.h
parent3fb852873fc09814c1c4b09866f2f266b3f4e1ee (diff)
downloadqpid-python-293c124f6e49530a10e7b1c1bcb90e41ec05b420.tar.gz
Allow non-durable messages to be lazy-loaded. Cleanup of lazy-loaded messages
that are never enqueued. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@483165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/lib/broker/MessageStore.h')
-rw-r--r--qpid/cpp/lib/broker/MessageStore.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/qpid/cpp/lib/broker/MessageStore.h b/qpid/cpp/lib/broker/MessageStore.h
index be9172e383..acbff82c35 100644
--- a/qpid/cpp/lib/broker/MessageStore.h
+++ b/qpid/cpp/lib/broker/MessageStore.h
@@ -39,7 +39,9 @@ namespace qpid {
u_int64_t stagingThreshold;
};
/**
- * An abstraction of the persistent storage for messages.
+ * An abstraction of the persistent storage for messages. (In
+ * all methods, any pointers/references to queues or messages
+ * are valid only for the duration of the call).
*/
class MessageStore : public TransactionalStore{
public:
@@ -66,7 +68,7 @@ namespace qpid {
* persistence id will be set on the message which can be
* used to load the content or to append to it.
*/
- virtual void stage(Message::shared_ptr& msg) = 0;
+ virtual void stage(Message* const msg) = 0;
/**
* Destroys a previously staged message. This only needs
@@ -74,7 +76,7 @@ namespace qpid {
* enqueued, deletion will be automatic when the message
* is dequeued from all queues it was enqueued onto).
*/
- virtual void destroy(Message::shared_ptr& msg) = 0;
+ virtual void destroy(Message* const msg) = 0;
/**
* Appends content to a previously staged message
@@ -102,7 +104,7 @@ namespace qpid {
* distributed transaction in which the operation takes
* place or null for 'local' transactions
*/
- virtual void enqueue(TransactionContext* ctxt, Message::shared_ptr& msg, const Queue& queue, const std::string * const xid) = 0;
+ virtual void enqueue(TransactionContext* ctxt, Message* const msg, const Queue& queue, const std::string * const xid) = 0;
/**
* Dequeues a message, recording that the given message is
* no longer on the given queue and deleting the message
@@ -114,7 +116,7 @@ namespace qpid {
* distributed transaction in which the operation takes
* place or null for 'local' transactions
*/
- virtual void dequeue(TransactionContext* ctxt, Message::shared_ptr& msg, const Queue& queue, const std::string * const xid) = 0;
+ virtual void dequeue(TransactionContext* ctxt, Message* const msg, const Queue& queue, const std::string * const xid) = 0;
/**
* Treat all enqueue/dequeues where this xid was specified as being committed.
*/