summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-02-08 19:35:01 +0000
committerAlan Conway <aconway@apache.org>2013-02-08 19:35:01 +0000
commit0b24c6ea6af6af63e54f562860d5bea7eb576ced (patch)
tree97aacdf6b0def8379faf2a7b1f5f73401a637731 /qpid/cpp
parent245190a7f4146b596cfc19d84676e577584e80ab (diff)
downloadqpid-python-0b24c6ea6af6af63e54f562860d5bea7eb576ced.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@1444200 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/QueueSettings.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/QueueSettings.h2
-rw-r--r--qpid/cpp/src/qpid/broker/SessionAdapter.cpp3
-rw-r--r--qpid/cpp/src/qpid/ha/ReplicationTest.cpp4
4 files changed, 5 insertions, 6 deletions
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::shared_ptr, bool> 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) {