summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src')
-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) {