diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-05 23:32:00 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-06 00:26:08 +0000 |
commit | 4c5a7cac411b30b9b4bd3ca067efcc9f3719b0ea (patch) | |
tree | 2e09c62b854357bbb1c8d433898d004e3f3995a5 /slobrok/src | |
parent | b84ef936b1cedce0b99f79e03b2fe25a8db5f7c3 (diff) |
Reduce code visibility and include only what you need from config library.
Diffstat (limited to 'slobrok/src')
-rw-r--r-- | slobrok/src/tests/configure/configure.cpp | 1 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/cfg.cpp | 16 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/cfg.h | 13 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/configshim.cpp | 4 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/configshim.h | 2 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/reconfigurable_stateserver.cpp | 3 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/sbenv.h | 6 |
7 files changed, 29 insertions, 16 deletions
diff --git a/slobrok/src/tests/configure/configure.cpp b/slobrok/src/tests/configure/configure.cpp index 77705864f80..295906fe8c1 100644 --- a/slobrok/src/tests/configure/configure.cpp +++ b/slobrok/src/tests/configure/configure.cpp @@ -4,7 +4,6 @@ #include <vespa/slobrok/sbmirror.h> #include <vespa/slobrok/sbregister.h> #include <vespa/slobrok/server/slobrokserver.h> -#include <vespa/config/config.h> #include <vespa/config/common/configcontext.h> #include <vespa/config-slobroks.h> #include <vespa/fnet/transport.h> diff --git a/slobrok/src/vespa/slobrok/cfg.cpp b/slobrok/src/vespa/slobrok/cfg.cpp index 557e94d56d8..12e41bac4fc 100644 --- a/slobrok/src/vespa/slobrok/cfg.cpp +++ b/slobrok/src/vespa/slobrok/cfg.cpp @@ -1,5 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "cfg.h" +#include <vespa/config/subscription/configsubscriber.hpp> namespace slobrok { @@ -21,7 +22,7 @@ extract(const cloud::config::SlobroksConfig &cfg) bool Configurator::poll() { - bool retval = _subscriber.nextGenerationNow(); + bool retval = _subscriber->nextGenerationNow(); if (retval) { std::unique_ptr<cloud::config::SlobroksConfig> cfg = _handle->getConfig(); _target.setup(extract(*cfg)); @@ -31,12 +32,21 @@ Configurator::poll() Configurator::Configurator(Configurable& target, const config::ConfigUri & uri) - : _subscriber(uri.getContext()), - _handle(_subscriber.subscribe<cloud::config::SlobroksConfig>(uri.getConfigId())), + : _subscriber(std::make_unique<config::ConfigSubscriber>(uri.getContext())), + _handle(_subscriber->subscribe<cloud::config::SlobroksConfig>(uri.getConfigId())), _target(target) { } +Configurator::~Configurator() = default; + + +int64_t +Configurator::getGeneration() const { + return _subscriber->getGeneration(); +} + + ConfiguratorFactory::ConfiguratorFactory(const config::ConfigUri& uri) : _uri(uri) { diff --git a/slobrok/src/vespa/slobrok/cfg.h b/slobrok/src/vespa/slobrok/cfg.h index d3150a6f941..bd7bffe1d15 100644 --- a/slobrok/src/vespa/slobrok/cfg.h +++ b/slobrok/src/vespa/slobrok/cfg.h @@ -3,8 +3,12 @@ #include <vespa/vespalib/util/ptrholder.h> #include <vespa/config-slobroks.h> -#include <vespa/config/config.h> +#include <vespa/config/subscription/configuri.h> +#include <vespa/config/subscription/confighandle.h> +namespace config { + class ConfigSubscriber; +} namespace slobrok { class Configurable { @@ -16,15 +20,16 @@ public: class Configurator { private: - config::ConfigSubscriber _subscriber; - config::ConfigHandle<cloud::config::SlobroksConfig>::UP _handle; + std::unique_ptr<config::ConfigSubscriber> _subscriber; + std::unique_ptr<config::ConfigHandle<cloud::config::SlobroksConfig>> _handle; Configurable &_target; public: Configurator(Configurable &target, const config::ConfigUri & uri); + ~Configurator(); bool poll(); typedef std::unique_ptr<Configurator> UP; - int64_t getGeneration() const { return _subscriber.getGeneration(); } + int64_t getGeneration() const; }; class ConfiguratorFactory { diff --git a/slobrok/src/vespa/slobrok/server/configshim.cpp b/slobrok/src/vespa/slobrok/server/configshim.cpp index d6922685009..cc4892e616c 100644 --- a/slobrok/src/vespa/slobrok/server/configshim.cpp +++ b/slobrok/src/vespa/slobrok/server/configshim.cpp @@ -18,11 +18,11 @@ ConfigShim::ConfigShim(uint32_t port, const std::string& cfgId) _factory(config::ConfigUri(_configId)) {} -ConfigShim::ConfigShim(uint32_t port, const std::string& cfgId, config::IConfigContext::SP cfgCtx) +ConfigShim::ConfigShim(uint32_t port, const std::string& cfgId, std::shared_ptr<config::IConfigContext> cfgCtx) : _port(port), _enableStateServer(false), _configId(cfgId), - _factory(config::ConfigUri(cfgId, cfgCtx)) + _factory(config::ConfigUri(cfgId, std::move(cfgCtx))) {} ConfigShim::~ConfigShim() = default; diff --git a/slobrok/src/vespa/slobrok/server/configshim.h b/slobrok/src/vespa/slobrok/server/configshim.h index aebbe2dece4..f31eeb5c463 100644 --- a/slobrok/src/vespa/slobrok/server/configshim.h +++ b/slobrok/src/vespa/slobrok/server/configshim.h @@ -17,7 +17,7 @@ private: public: ConfigShim(uint32_t port); ConfigShim(uint32_t port, const std::string& cfgId); - ConfigShim(uint32_t port, const std::string& cfgId, config::IConfigContext::SP cfgCtx); + ConfigShim(uint32_t port, const std::string& cfgId, std::shared_ptr<config::IConfigContext> cfgCtx); ~ConfigShim(); ConfigShim & enableStateServer(bool v) { _enableStateServer = v; return *this; } diff --git a/slobrok/src/vespa/slobrok/server/reconfigurable_stateserver.cpp b/slobrok/src/vespa/slobrok/server/reconfigurable_stateserver.cpp index f2ebc7ce78d..1bf6596744d 100644 --- a/slobrok/src/vespa/slobrok/server/reconfigurable_stateserver.cpp +++ b/slobrok/src/vespa/slobrok/server/reconfigurable_stateserver.cpp @@ -3,11 +3,10 @@ #include "reconfigurable_stateserver.h" #include <vespa/vespalib/util/exceptions.h> #include <vespa/vespalib/net/state_server.h> +#include <vespa/config/helper/configfetcher.hpp> #include <thread> #include <vespa/log/log.h> -#include <vespa/config/common/exceptions.h> - LOG_SETUP(".slobrok.server.reconfigurable_stateserver"); using namespace std::chrono_literals; diff --git a/slobrok/src/vespa/slobrok/server/sbenv.h b/slobrok/src/vespa/slobrok/server/sbenv.h index a27680365a0..644344285ad 100644 --- a/slobrok/src/vespa/slobrok/server/sbenv.h +++ b/slobrok/src/vespa/slobrok/server/sbenv.h @@ -39,9 +39,9 @@ private: std::unique_ptr<FNET_Transport> _transport; std::unique_ptr<FRT_Supervisor> _supervisor; - ConfigShim _configShim; - Configurator::UP _configurator; - bool _shuttingDown; + ConfigShim _configShim; + std::unique_ptr<Configurator> _configurator; + bool _shuttingDown; SBEnv(const SBEnv &); // Not used SBEnv &operator=(const SBEnv &); // Not used |