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 | 0b24c6ea6af6af63e54f562860d5bea7eb576ced (patch) | |
| tree | 97aacdf6b0def8379faf2a7b1f5f73401a637731 /qpid/cpp | |
| parent | 245190a7f4146b596cfc19d84676e577584e80ab (diff) | |
| download | qpid-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.cpp | 2 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/broker/QueueSettings.h | 2 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/broker/SessionAdapter.cpp | 3 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/ha/ReplicationTest.cpp | 4 |
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) { |
