From d6befaeb77df8a09845e4c11070afe8ab4d5052d Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Fri, 24 Nov 2006 17:21:47 +0000 Subject: Initial sketching out of staging functionality for large messages (i.e. allowing content to be stored as it arrives, rather than collecting it in memory until complete). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@478923 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/MessageStore.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'cpp/src/qpid/broker/MessageStore.h') diff --git a/cpp/src/qpid/broker/MessageStore.h b/cpp/src/qpid/broker/MessageStore.h index 13b5ba1152..322b03e67c 100644 --- a/cpp/src/qpid/broker/MessageStore.h +++ b/cpp/src/qpid/broker/MessageStore.h @@ -46,6 +46,25 @@ namespace qpid { */ virtual void recover(RecoveryManager& queues) = 0; + /** + * Stores a messages before it has been enqueued + * (enqueueing automatically stores the message so this is + * only required if storage is required prior to that + * point). If the message has not yet been stored it will + * store the headers and any available content. If the + * message has already been stored it will append any + * currently held content. + */ + virtual void stage(Message::shared_ptr& msg) = 0; + + /** + * Destroys a previously staged message. This only needs + * to be called if the message is never enqueued. (Once + * 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; + /** * Enqueues a message, storing the message if it has not * been previously stored and recording that the given -- cgit v1.2.1