You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by cc...@apache.org on 2007/09/06 22:41:57 UTC
svn commit: r573367 -
/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
Author: cctrieloff
Date: Thu Sep 6 13:41:56 2007
New Revision: 573367
URL: http://svn.apache.org/viewvc?rev=573367&view=rev
Log:
interface to hang external journal's per queue onto a PersistableQueue
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h?rev=573367&r1=573366&r2=573367&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h Thu Sep 6 13:41:56 2007
@@ -28,6 +28,19 @@
namespace qpid {
namespace broker {
+
+/**
+* Empty class to be used by any module that wanted to set an external per queue store into
+* persistableQueue
+*/
+
+class ExternalQueueStore
+{
+
+
+};
+
+
/**
* The interface queues must expose to the MessageStore in order to be
* persistable.
@@ -37,7 +50,17 @@
public:
virtual const std::string& getName() const = 0;
- virtual ~PersistableQueue() {};
+ virtual ~PersistableQueue() {
+ if (externalQueueStore)
+ delete externalQueueStore;
+ };
+
+ inline void setExternalQueueStore(ExternalQueueStore* inst) {externalQueueStore = inst;};
+ inline ExternalQueueStore* getExternalQueueStore() {return externalQueueStore;};
+
+ PersistableQueue():externalQueueStore(NULL){
+ };
+
protected:
/**
@@ -48,6 +71,8 @@
* this callback you will block the store.
*/
virtual void notifyDurableIOComplete() = 0;
+
+ ExternalQueueStore* externalQueueStore;
};