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/14 20:46:33 UTC
svn commit: r575773 - in /incubator/qpid/trunk/qpid/cpp/src/qpid/broker:
PersistableQueue.h RecoverableQueue.h RecoveryManagerImpl.cpp
Author: cctrieloff
Date: Fri Sep 14 11:44:27 2007
New Revision: 575773
URL: http://svn.apache.org/viewvc?rev=575773&view=rev
Log:
recover support for async stores
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
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=575773&r1=575772&r2=575773&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h Fri Sep 14 11:44:27 2007
@@ -56,7 +56,12 @@
delete externalQueueStore;
};
- inline void setExternalQueueStore(ExternalQueueStore* inst) {externalQueueStore = inst;};
+ inline void setExternalQueueStore(ExternalQueueStore* inst){
+ if (externalQueueStore!=inst && externalQueueStore)
+ delete externalQueueStore;
+ externalQueueStore = inst;
+ };
+
inline ExternalQueueStore* getExternalQueueStore() const {return externalQueueStore;};
PersistableQueue():externalQueueStore(NULL){
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h?rev=575773&r1=575772&r2=575773&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h Fri Sep 14 11:44:27 2007
@@ -28,6 +28,8 @@
namespace qpid {
namespace broker {
+class ExternalQueueStore;
+
/**
* The interface through which messages are added back to queues on
* recovery.
@@ -43,6 +45,11 @@
*/
virtual void recover(RecoverableMessage::shared_ptr msg) = 0;
virtual ~RecoverableQueue() {};
+
+ virtual const std::string& getName() const = 0;
+ virtual void setExternalQueueStore(ExternalQueueStore* inst) = 0;
+
+
};
}}
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp?rev=575773&r1=575772&r2=575773&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp Fri Sep 14 11:44:27 2007
@@ -62,6 +62,8 @@
RecoverableQueueImpl(Queue::shared_ptr& _queue) : queue(_queue) {}
~RecoverableQueueImpl() {};
void setPersistenceId(uint64_t id);
+ const std::string& getName() const;
+ void setExternalQueueStore(ExternalQueueStore* inst);
void recover(RecoverableMessage::shared_ptr msg);
void enqueue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr msg);
void dequeue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr msg);
@@ -153,6 +155,16 @@
void RecoverableQueueImpl::setPersistenceId(uint64_t id)
{
queue->setPersistenceId(id);
+}
+
+const std::string& RecoverableQueueImpl::getName() const
+{
+ return queue->getName();
+}
+
+void RecoverableQueueImpl::setExternalQueueStore(ExternalQueueStore* inst)
+{
+ queue->setExternalQueueStore(inst);
}
void RecoverableExchangeImpl::setPersistenceId(uint64_t id)