diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-02-15 09:23:11 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-02-15 09:23:11 +0000 |
commit | e681322cab882cb3d30a2785d76b385bfcb8e0c5 (patch) | |
tree | 216a51adfd09fff9cf32d8c5f449bfb0d6115c2d /messagebus | |
parent | d96edb431241e3132f2bd23d5e673763e319fa63 (diff) |
Use std::atomic instead of volatile.
Diffstat (limited to 'messagebus')
6 files changed, 20 insertions, 32 deletions
diff --git a/messagebus/src/tests/advancedrouting/advancedrouting.cpp b/messagebus/src/tests/advancedrouting/advancedrouting.cpp index 61552f6cf40..b18653d272d 100644 --- a/messagebus/src/tests/advancedrouting/advancedrouting.cpp +++ b/messagebus/src/tests/advancedrouting/advancedrouting.cpp @@ -46,7 +46,7 @@ public: TEST_APPHOOK(Test); -TestData::~TestData() {} +TestData::~TestData() = default; TestData::TestData() : _slobrok(), _retryPolicy(std::make_shared<RetryTransientErrorsPolicy>()), diff --git a/messagebus/src/vespa/messagebus/iprotocol.h b/messagebus/src/vespa/messagebus/iprotocol.h index 8a4129d1976..301f2dad461 100644 --- a/messagebus/src/vespa/messagebus/iprotocol.h +++ b/messagebus/src/vespa/messagebus/iprotocol.h @@ -2,10 +2,10 @@ #pragma once -#include <vespa/messagebus/routing/iroutingpolicy.h> -#include <vespa/vespalib/component/version.h> #include "blobref.h" #include "routable.h" +#include <vespa/messagebus/routing/iroutingpolicy.h> +#include <vespa/vespalib/component/version.h> namespace mbus { diff --git a/messagebus/src/vespa/messagebus/messagebusparams.h b/messagebus/src/vespa/messagebus/messagebusparams.h index 077301fe422..0dcb4925baa 100644 --- a/messagebus/src/vespa/messagebus/messagebusparams.h +++ b/messagebus/src/vespa/messagebus/messagebusparams.h @@ -1,10 +1,8 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/messagebus/routing/iretrypolicy.h> -#include <string> -#include <vector> #include "iprotocol.h" +#include <vespa/messagebus/routing/iretrypolicy.h> namespace mbus { diff --git a/messagebus/src/vespa/messagebus/routing/iretrypolicy.h b/messagebus/src/vespa/messagebus/routing/iretrypolicy.h index c78d6164e9c..b62fe3e266b 100644 --- a/messagebus/src/vespa/messagebus/routing/iretrypolicy.h +++ b/messagebus/src/vespa/messagebus/routing/iretrypolicy.h @@ -1,8 +1,8 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once +#include <cstdint> #include <memory> -#include <stdint.h> namespace mbus { @@ -15,16 +15,12 @@ namespace mbus { */ class IRetryPolicy { public: - /** - * Convenience typedefs. - */ - typedef std::unique_ptr<IRetryPolicy> UP; - typedef std::shared_ptr<IRetryPolicy> SP; + using SP = std::shared_ptr<IRetryPolicy>; /** * Virtual destructor required for inheritance. */ - virtual ~IRetryPolicy() { /* empty */ } + virtual ~IRetryPolicy() = default; /** * Returns whether or not a {@link com.yahoo.messagebus.Reply} containing an {@link diff --git a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.cpp b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.cpp index ab2eb858676..fa43a964f90 100644 --- a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.cpp +++ b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.cpp @@ -1,39 +1,36 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/messagebus/errorcode.h> + #include "retrytransienterrorspolicy.h" +#include <vespa/messagebus/errorcode.h> namespace mbus { RetryTransientErrorsPolicy::RetryTransientErrorsPolicy() : _enabled(true), - _baseDelay(1) -{ } + _baseDelay(1.0) +{} RetryTransientErrorsPolicy & -RetryTransientErrorsPolicy::setEnabled(bool enabled) -{ +RetryTransientErrorsPolicy::setEnabled(bool enabled) { _enabled = enabled; return *this; } RetryTransientErrorsPolicy & -RetryTransientErrorsPolicy::setBaseDelay(double baseDelay) -{ +RetryTransientErrorsPolicy::setBaseDelay(double baseDelay) { _baseDelay = baseDelay; return *this; } bool -RetryTransientErrorsPolicy::canRetry(uint32_t errorCode) const -{ +RetryTransientErrorsPolicy::canRetry(uint32_t errorCode) const { return _enabled && errorCode < ErrorCode::FATAL_ERROR; } double -RetryTransientErrorsPolicy::getRetryDelay(uint32_t retry) const -{ +RetryTransientErrorsPolicy::getRetryDelay(uint32_t retry) const { return _baseDelay * retry; } -} // namespace mbus +} diff --git a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h index aab048a52b8..3968225442d 100644 --- a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h +++ b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h @@ -2,6 +2,7 @@ #pragma once #include "iretrypolicy.h" +#include <atomic> namespace mbus { @@ -11,16 +12,12 @@ namespace mbus { */ class RetryTransientErrorsPolicy : public IRetryPolicy { private: - volatile bool _enabled; - volatile double _baseDelay; + std::atomic<bool> _enabled; + std::atomic<double> _baseDelay; public: - /** - * Convenience typedefs. - */ - typedef std::unique_ptr<RetryTransientErrorsPolicy> UP; - typedef std::shared_ptr<RetryTransientErrorsPolicy> SP; + using SP = std::shared_ptr<RetryTransientErrorsPolicy>; /** * Constructs a new instance of this policy. By default retries are enabled with a 1.0 second base delay. */ |