summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2012-10-18 13:37:42 +0000
committerKim van der Riet <kpvdr@apache.org>2012-10-18 13:37:42 +0000
commit172d9b2a16cfb817bbe632d050acba7e31401cd2 (patch)
tree7c5dd5ccba8734a455f20bccaae1cb80a5483b91 /cpp/src/qpid/broker/RecoveryManagerImpl.cpp
parentc095a631dcb2c7be5e167ed50f658f7c24330a45 (diff)
downloadqpid-python-172d9b2a16cfb817bbe632d050acba7e31401cd2.tar.gz
WIP - async store interface working for configuration (adding and removing queues, links and exchanges) and for enqueues and dequeues of messages. Transactions are not yet included, and hence some tests will fail.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1399662 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/RecoveryManagerImpl.cpp')
-rw-r--r--cpp/src/qpid/broker/RecoveryManagerImpl.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
index 7deeba5e65..f3e1639ca5 100644
--- a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
+++ b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
@@ -81,7 +81,7 @@ class RecoverableExchangeImpl : public RecoverableExchange
public:
RecoverableExchangeImpl(Exchange::shared_ptr _exchange, QueueRegistry& _queues) : exchange(_exchange), queues(_queues) {}
void setPersistenceId(uint64_t id);
- void bind(const std::string& queue, const std::string& routingKey, qpid::framing::FieldTable& args);
+ void bind(const std::string& queue, const std::string& routingKey, qpid::framing::FieldTable& args, AsyncStore* const store);
};
class RecoverableConfigImpl : public RecoverableConfig
@@ -113,13 +113,13 @@ RecoverableExchange::shared_ptr RecoveryManagerImpl::recoverExchange(framing::Bu
}
}
-RecoverableQueue::shared_ptr RecoveryManagerImpl::recoverQueue(framing::Buffer& buffer)
+RecoverableQueue::shared_ptr RecoveryManagerImpl::recoverQueue(framing::Buffer& buffer, AsyncStore* const store)
{
Queue::shared_ptr queue = Queue::restore(queues, buffer);
try {
Exchange::shared_ptr exchange = exchanges.getDefault();
if (exchange) {
- exchange->bind(queue, queue->getName(), 0);
+ exchange->bind(queue, queue->getName(), 0, store);
queue->bound(exchange->getName(), queue->getName(), framing::FieldTable());
}
} catch (const framing::NotFoundException& /*e*/) {
@@ -238,10 +238,11 @@ void RecoverableConfigImpl::setPersistenceId(uint64_t id)
void RecoverableExchangeImpl::bind(const string& queueName,
const string& key,
- framing::FieldTable& args)
+ framing::FieldTable& args,
+ AsyncStore* const store)
{
Queue::shared_ptr queue = queues.find(queueName);
- exchange->bind(queue, key, &args);
+ exchange->bind(queue, key, &args, store);
queue->bound(exchange->getName(), key, args);
}