From 172d9b2a16cfb817bbe632d050acba7e31401cd2 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Thu, 18 Oct 2012 13:37:42 +0000 Subject: 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 --- cpp/src/qpid/broker/RecoveryManagerImpl.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cpp/src/qpid/broker/RecoveryManagerImpl.cpp') 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); } -- cgit v1.2.1