summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/QueueOptions.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-01-15 11:29:38 +0000
committerGordon Sim <gsim@apache.org>2009-01-15 11:29:38 +0000
commite46c3c0a19af0fd659cfe018c34db1c0dfd498c5 (patch)
tree661de23013441445a9b04276fc4b7220906e5d18 /cpp/src/qpid/client/QueueOptions.h
parent85679201de2448430804ff02d8a47894faf34f49 (diff)
downloadqpid-python-e46c3c0a19af0fd659cfe018c34db1c0dfd498c5.tar.gz
QPID-1567: Initial support for asynchronous queue state replication
* Added QueueEvents class with per broker instance * Modified qpid::broker::Queue to notify QueueEvents of enqueues and dequeues (based on configuration) * Added replication subdir containing two plugins: - an event listener that registers with QueueEvents and creates messages representing received events on a replication queue - a custom exchange type for processing messages of the format created by the listener plugin * Added new option for controlling event generation to qpid::client::QueueOptions * Added new queue option to qpid-config script for the same git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734674 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/QueueOptions.h')
-rw-r--r--cpp/src/qpid/client/QueueOptions.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/QueueOptions.h b/cpp/src/qpid/client/QueueOptions.h
index 114e1e49c2..8c22414cbb 100644
--- a/cpp/src/qpid/client/QueueOptions.h
+++ b/cpp/src/qpid/client/QueueOptions.h
@@ -27,7 +27,7 @@ namespace qpid {
namespace client {
enum QueueSizePolicy {NONE, REJECT, FLOW_TO_DISK, RING, RING_STRICT};
-enum QueueOrderingPolicy {FIFO, LVQ, LVQ_NO_BROWSE};
+enum QueueOrderingPolicy {FIFO, LVQ, LVQ_NO_BROWSE};
/**
* A help class to set options on the Queue. Create a configured args while
@@ -83,6 +83,13 @@ class QueueOptions: public framing::FieldTable
* Use default odering policy
*/
void clearOrdering();
+
+ /**
+ * Turns on event generation for this queue (either enqueue only
+ * or for enqueue and dequeue events); the events can then be
+ * processed by a regsitered broker plugin.
+ */
+ void enableQueueEvents(bool enqueueOnly);
static const std::string strMaxCountKey;
static const std::string strMaxSizeKey;
@@ -95,6 +102,7 @@ class QueueOptions: public framing::FieldTable
static const std::string strPersistLastNode;
static const std::string strLVQMatchProperty;
static const std::string strLastValueQueueNoBrowse;
+ static const std::string strQueueEventMode;
};
}