From 4c5a7cac411b30b9b4bd3ca067efcc9f3719b0ea Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sat, 5 Feb 2022 23:32:00 +0000 Subject: Reduce code visibility and include only what you need from config library. --- slobrok/src/tests/configure/configure.cpp | 1 - slobrok/src/vespa/slobrok/cfg.cpp | 16 +++++++++++++--- slobrok/src/vespa/slobrok/cfg.h | 13 +++++++++---- slobrok/src/vespa/slobrok/server/configshim.cpp | 4 ++-- slobrok/src/vespa/slobrok/server/configshim.h | 2 +- .../vespa/slobrok/server/reconfigurable_stateserver.cpp | 3 +-- slobrok/src/vespa/slobrok/server/sbenv.h | 6 +++--- 7 files changed, 29 insertions(+), 16 deletions(-) (limited to 'slobrok/src') 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 #include #include -#include #include #include #include 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 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 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(uri.getConfigId())), + : _subscriber(std::make_unique(uri.getContext())), + _handle(_subscriber->subscribe(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 #include -#include +#include +#include +namespace config { + class ConfigSubscriber; +} namespace slobrok { class Configurable { @@ -16,15 +20,16 @@ public: class Configurator { private: - config::ConfigSubscriber _subscriber; - config::ConfigHandle::UP _handle; + std::unique_ptr _subscriber; + std::unique_ptr> _handle; Configurable &_target; public: Configurator(Configurable &target, const config::ConfigUri & uri); + ~Configurator(); bool poll(); typedef std::unique_ptr 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 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 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 #include +#include #include #include -#include - 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 _transport; std::unique_ptr _supervisor; - ConfigShim _configShim; - Configurator::UP _configurator; - bool _shuttingDown; + ConfigShim _configShim; + std::unique_ptr _configurator; + bool _shuttingDown; SBEnv(const SBEnv &); // Not used SBEnv &operator=(const SBEnv &); // Not used -- cgit v1.2.3