From 0b24c6ea6af6af63e54f562860d5bea7eb576ced Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 8 Feb 2013 19:35:01 +0000 Subject: 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@1444200 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/broker/QueueSettings.cpp | 2 +- qpid/cpp/src/qpid/broker/QueueSettings.h | 2 +- qpid/cpp/src/qpid/broker/SessionAdapter.cpp | 3 ++- qpid/cpp/src/qpid/ha/ReplicationTest.cpp | 4 +--- 4 files changed, 5 insertions(+), 6 deletions(-) (limited to 'qpid/cpp') diff --git a/qpid/cpp/src/qpid/broker/QueueSettings.cpp b/qpid/cpp/src/qpid/broker/QueueSettings.cpp index 445e91c854..b92a81bcf3 100644 --- a/qpid/cpp/src/qpid/broker/QueueSettings.cpp +++ b/qpid/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/qpid/cpp/src/qpid/broker/QueueSettings.h b/qpid/cpp/src/qpid/broker/QueueSettings.h index c43776c722..62d34db5cb 100644 --- a/qpid/cpp/src/qpid/broker/QueueSettings.h +++ b/qpid/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/qpid/cpp/src/qpid/broker/SessionAdapter.cpp b/qpid/cpp/src/qpid/broker/SessionAdapter.cpp index e391432bff..1934c3dc85 100644 --- a/qpid/cpp/src/qpid/broker/SessionAdapter.cpp +++ b/qpid/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_created = getBroker().createQueue(name, settings, diff --git a/qpid/cpp/src/qpid/ha/ReplicationTest.cpp b/qpid/cpp/src/qpid/ha/ReplicationTest.cpp index 0156c631bb..647523ef2c 100644 --- a/qpid/cpp/src/qpid/ha/ReplicationTest.cpp +++ b/qpid/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) { -- cgit v1.2.1