diff options
| author | Alan Conway <aconway@apache.org> | 2013-02-08 19:35:01 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2013-02-08 19:35:01 +0000 |
| commit | 71d6503bb2eff6609472988464c64b11c4cf0b74 (patch) | |
| tree | 83287affd12f9608d96e20db70f9a8228fbdd474 /cpp/src | |
| parent | 33c71f49d769253bfe81fe2fbcc9455623730f5c (diff) | |
| download | qpid-python-71d6503bb2eff6609472988464c64b11c4cf0b74.tar.gz | |
QPID-4555: HA Replace QueueSettings::declaredExclusive with isTemporary.
Minor reorganization to make things clearer. It was not at all obvious what
declaredExclusive mean, isTemporary makes more sense (suggested by gsim
https://reviews.apache.org/r/9258/)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1444200 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/broker/QueueSettings.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/QueueSettings.h | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.cpp | 3 | ||||
| -rw-r--r-- | cpp/src/qpid/ha/ReplicationTest.cpp | 4 |
4 files changed, 5 insertions, 6 deletions
diff --git a/cpp/src/qpid/broker/QueueSettings.cpp b/cpp/src/qpid/broker/QueueSettings.cpp index 445e91c854..b92a81bcf3 100644 --- a/cpp/src/qpid/broker/QueueSettings.cpp +++ b/cpp/src/qpid/broker/QueueSettings.cpp @@ -77,7 +77,7 @@ const QueueSettings::Aliases QueueSettings::aliases; QueueSettings::QueueSettings(bool d, bool a) : durable(d), autodelete(a), - declaredExclusive(false), + isTemporary(false), priorities(0), defaultFairshare(0), shareGroups(false), diff --git a/cpp/src/qpid/broker/QueueSettings.h b/cpp/src/qpid/broker/QueueSettings.h index c43776c722..62d34db5cb 100644 --- a/cpp/src/qpid/broker/QueueSettings.h +++ b/cpp/src/qpid/broker/QueueSettings.h @@ -43,7 +43,7 @@ struct QueueSettings bool durable; bool autodelete; - bool declaredExclusive; + bool isTemporary; //basic queue types: std::string lvqKey; diff --git a/cpp/src/qpid/broker/SessionAdapter.cpp b/cpp/src/qpid/broker/SessionAdapter.cpp index e391432bff..1934c3dc85 100644 --- a/cpp/src/qpid/broker/SessionAdapter.cpp +++ b/cpp/src/qpid/broker/SessionAdapter.cpp @@ -294,7 +294,8 @@ void SessionAdapter::QueueHandlerImpl::declare(const string& name, const string& } catch (const qpid::types::Exception& e) { throw InvalidArgumentException(e.what()); } - settings.declaredExclusive = exclusive; + // Identify queues that won't survive a failover. + settings.isTemporary = exclusive && autoDelete && !settings.autoDeleteDelay; std::pair<Queue::shared_ptr, bool> queue_created = getBroker().createQueue(name, settings, diff --git a/cpp/src/qpid/ha/ReplicationTest.cpp b/cpp/src/qpid/ha/ReplicationTest.cpp index 0156c631bb..647523ef2c 100644 --- a/cpp/src/qpid/ha/ReplicationTest.cpp +++ b/cpp/src/qpid/ha/ReplicationTest.cpp @@ -65,9 +65,7 @@ ReplicateLevel ReplicationTest::getLevel(const broker::Exchange& ex) { ReplicateLevel ReplicationTest::useLevel(const broker::Queue& q) { - bool ignore = q.isAutoDelete() && q.getSettings().declaredExclusive && - !q.getSettings().autoDeleteDelay; - return ignore ? ReplicationTest(NONE).getLevel(q) : getLevel(q); + return q.getSettings().isTemporary ? ReplicationTest(NONE).getLevel(q) : getLevel(q); } ReplicateLevel ReplicationTest::useLevel(const broker::Exchange& ex) { |
