#include <NullMessageStore.h>
Inheritance diagram for qpid::broker::NullMessageStore:
Public Member Functions | |
NullMessageStore (bool warn=false) | |
virtual std::auto_ptr< TransactionContext > | begin () |
virtual std::auto_ptr< TPCTransactionContext > | begin (const std::string &xid) |
virtual void | prepare (TPCTransactionContext &txn) |
virtual void | commit (TransactionContext &txn) |
virtual void | abort (TransactionContext &txn) |
virtual void | collectPreparedXids (std::set< std::string > &xids) |
virtual void | create (const PersistableQueue &queue) |
Record the existence of a durable queue. | |
virtual void | destroy (const PersistableQueue &queue) |
Destroy a durable queue. | |
virtual void | create (const PersistableExchange &exchange) |
Record the existence of a durable exchange. | |
virtual void | destroy (const PersistableExchange &exchange) |
Destroy a durable exchange. | |
virtual void | recover (RecoveryManager &queues) |
Request recovery of queue and message state from store. | |
virtual void | stage (PersistableMessage &msg) |
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). | |
virtual void | destroy (PersistableMessage &msg) |
Destroys a previously staged message. | |
virtual void | appendContent (PersistableMessage &msg, const std::string &data) |
Appends content to a previously staged message. | |
virtual void | loadContent (PersistableMessage &msg, std::string &data, uint64_t offset, uint32_t length) |
Loads (a section) of content data for the specified message (previously stored through a call to stage or enqueue) into data. | |
virtual void | enqueue (TransactionContext *ctxt, PersistableMessage &msg, const PersistableQueue &queue) |
Enqueues a message, storing the message if it has not been previously stored and recording that the given message is on the given queue. | |
virtual void | dequeue (TransactionContext *ctxt, PersistableMessage &msg, const PersistableQueue &queue) |
Dequeues a message, recording that the given message is no longer on the given queue and deleting the message if it is no longer on any other queue. |
virtual void qpid::broker::NullMessageStore::dequeue | ( | TransactionContext * | ctxt, | |
PersistableMessage & | msg, | |||
const PersistableQueue & | queue | |||
) | [virtual] |
Dequeues a message, recording that the given message is no longer on the given queue and deleting the message if it is no longer on any other queue.
msg | the message to dequeue | |
queue | the name of th queue from which it is to be dequeued | |
xid | (a pointer to) an identifier of the distributed transaction in which the operation takes place or null for 'local' transactions |
Implements qpid::broker::MessageStore.
virtual void qpid::broker::NullMessageStore::destroy | ( | PersistableMessage & | msg | ) | [virtual] |
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).
Implements qpid::broker::MessageStore.
virtual void qpid::broker::NullMessageStore::enqueue | ( | TransactionContext * | ctxt, | |
PersistableMessage & | msg, | |||
const PersistableQueue & | queue | |||
) | [virtual] |
Enqueues a message, storing the message if it has not been previously stored and recording that the given message is on the given queue.
msg | the message to enqueue | |
queue | the name of the queue onto which it is to be enqueued | |
xid | (a pointer to) an identifier of the distributed transaction in which the operation takes place or null for 'local' transactions |
Implements qpid::broker::MessageStore.
virtual void qpid::broker::NullMessageStore::loadContent | ( | PersistableMessage & | msg, | |
std::string & | data, | |||
uint64_t | offset, | |||
uint32_t | length | |||
) | [virtual] |
Loads (a section) of content data for the specified message (previously stored through a call to stage or enqueue) into data.
The offset refers to the content only (i.e. an offset of 0 implies that the start of the content should be loaded, not the headers or related meta-data).
Implements qpid::broker::MessageStore.
virtual void qpid::broker::NullMessageStore::stage | ( | PersistableMessage & | msg | ) | [virtual] |
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 as well as any content passed in. A persistence id will be set on the message which can be used to load the content or to append to it.
Implements qpid::broker::MessageStore.