diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-08-15 18:13:02 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-08-15 18:13:02 +0000 |
| commit | 7c966bd1fcb801e14e001237096470b9c7e87f1f (patch) | |
| tree | 36409d01a360e3150a587fec1b9a30bcb5e8d89b /cpp/src/qpid/broker/MessageStore.h | |
| parent | 3f2ac50fdb042c2c48ebbdc1e70e442f0bf1ab86 (diff) | |
| download | qpid-python-7c966bd1fcb801e14e001237096470b9c7e87f1f.tar.gz | |
async IO for broker store
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@566289 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/MessageStore.h')
| -rw-r--r-- | cpp/src/qpid/broker/MessageStore.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/MessageStore.h b/cpp/src/qpid/broker/MessageStore.h index cf7dae9888..36a7f8824e 100644 --- a/cpp/src/qpid/broker/MessageStore.h +++ b/cpp/src/qpid/broker/MessageStore.h @@ -104,7 +104,10 @@ public: /** * Enqueues a message, storing the message if it has not * been previously stored and recording that the given - * message is on the given queue. + * message is on the given queue. + * + * Note: that this is async so the return of the function does + * not mean the opperation is complete. * * @param msg the message to enqueue * @param queue the name of the queue onto which it is to be enqueued @@ -113,18 +116,34 @@ public: * place or null for 'local' transactions */ virtual void enqueue(TransactionContext* ctxt, PersistableMessage& msg, const PersistableQueue& queue) = 0; + /** * 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. + * + * Note: that this is async so the return of the function does + * not mean the opperation is complete. * * @param msg the message to dequeue - * @param queue the name of th queue from which it is to be dequeued + * @param queue the name of the queue from which it is to be dequeued * @param xid (a pointer to) an identifier of the * distributed transaction in which the operation takes * place or null for 'local' transactions */ virtual void dequeue(TransactionContext* ctxt, PersistableMessage& msg, const PersistableQueue& queue) = 0; + + + /** + * Returns the number of outstanding AIO's for a given queue + * + * If 0, than all the enqueue / dequeues have been stored + * to disk + * + * @param queue the name of the queue to check for outstanding AIO + */ + virtual u_int32_t outstandingQueueAIO(const PersistableQueue& queue) = 0; + virtual ~MessageStore(){} }; |
