diff options
author | Kim van der Riet <kpvdr@apache.org> | 2012-10-18 13:37:42 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2012-10-18 13:37:42 +0000 |
commit | 172d9b2a16cfb817bbe632d050acba7e31401cd2 (patch) | |
tree | 7c5dd5ccba8734a455f20bccaae1cb80a5483b91 /cpp/src/qpid/broker/RecoveryManagerImpl.cpp | |
parent | c095a631dcb2c7be5e167ed50f658f7c24330a45 (diff) | |
download | qpid-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.cpp | 11 |
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); } |