summaryrefslogtreecommitdiff
path: root/cpp/src
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
commit71d6503bb2eff6609472988464c64b11c4cf0b74 (patch)
tree83287affd12f9608d96e20db70f9a8228fbdd474 /cpp/src
parent33c71f49d769253bfe81fe2fbcc9455623730f5c (diff)
downloadqpid-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.cpp2
-rw-r--r--cpp/src/qpid/broker/QueueSettings.h2
-rw-r--r--cpp/src/qpid/broker/SessionAdapter.cpp3
-rw-r--r--cpp/src/qpid/ha/ReplicationTest.cpp4
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) {