diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/src/tests/configgen/configgen.cpp | 5 | ||||
-rw-r--r-- | config/src/tests/configmanager/configmanager.cpp | 6 | ||||
-rw-r--r-- | config/src/tests/getconfig/getconfig.cpp | 3 | ||||
-rw-r--r-- | config/src/tests/print/print.cpp | 3 | ||||
-rw-r--r-- | config/src/vespa/config/common/timingvalues.h | 1 | ||||
-rw-r--r-- | config/src/vespa/config/helper/configgetter.h | 13 | ||||
-rw-r--r-- | config/src/vespa/config/helper/configgetter.hpp | 2 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/configinstancespec.h | 3 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/configsubscriptionset.cpp | 2 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/configsubscriptionset.h | 6 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/sourcespec.cpp | 9 | ||||
-rw-r--r-- | config/src/vespa/config/subscription/sourcespec.h | 31 |
12 files changed, 43 insertions, 41 deletions
diff --git a/config/src/tests/configgen/configgen.cpp b/config/src/tests/configgen/configgen.cpp index bd8aea0a89a..25915293310 100644 --- a/config/src/tests/configgen/configgen.cpp +++ b/config/src/tests/configgen/configgen.cpp @@ -1,9 +1,8 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> -#include <vespa/log/log.h> -LOG_SETUP("configgen"); + #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/config/config.h> +#include <vespa/config/helper/configgetter.hpp> #include "config-motd.h" using namespace config; diff --git a/config/src/tests/configmanager/configmanager.cpp b/config/src/tests/configmanager/configmanager.cpp index 38d6aa85065..d0e8f5444e0 100644 --- a/config/src/tests/configmanager/configmanager.cpp +++ b/config/src/tests/configmanager/configmanager.cpp @@ -1,11 +1,10 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> -#include <vespa/log/log.h> -LOG_SETUP("configmanager"); + #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/vespalib/util/noncopyable.hpp> #include <vespa/config/common/configmanager.h> #include <vespa/config/common/exceptions.h> +#include <vespa/config/common/timingvalues.h> #include <vespa/config/subscription/sourcespec.h> #include <vespa/config/raw/rawsource.h> #include "config-my.h" @@ -41,7 +40,6 @@ namespace { { _data->numGetConfig++; if (_data->respond) { - LOG(info, "put into holder"); _holder->handle(ConfigUpdate::UP(new ConfigUpdate(ConfigValue(), true, _data->generation))); } } diff --git a/config/src/tests/getconfig/getconfig.cpp b/config/src/tests/getconfig/getconfig.cpp index 77e2f57dbc8..4ffd8b5e806 100644 --- a/config/src/tests/getconfig/getconfig.cpp +++ b/config/src/tests/getconfig/getconfig.cpp @@ -1,7 +1,8 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> + #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/config/config.h> +#include <vespa/config/helper/configgetter.hpp> #include <vespa/config/raw/rawsource.h> #include "config-my.h" diff --git a/config/src/tests/print/print.cpp b/config/src/tests/print/print.cpp index 761a3b32f73..b8b2d7cd5ef 100644 --- a/config/src/tests/print/print.cpp +++ b/config/src/tests/print/print.cpp @@ -1,10 +1,11 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> + #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/config/config.h> #include <vespa/config/print.h> #include <vespa/config/print/fileconfigreader.h> #include <vespa/config/print/istreamconfigreader.h> +#include <vespa/config/helper/configgetter.hpp> #include "config-my.h" #include "config-motd.h" diff --git a/config/src/vespa/config/common/timingvalues.h b/config/src/vespa/config/common/timingvalues.h index 244e80540c4..2f2c5842c82 100644 --- a/config/src/vespa/config/common/timingvalues.h +++ b/config/src/vespa/config/common/timingvalues.h @@ -3,6 +3,7 @@ #pragma once #include <cstdint> + namespace config { static const uint64_t DEFAULT_NEXTCONFIG_TIMEOUT = 55000; diff --git a/config/src/vespa/config/helper/configgetter.h b/config/src/vespa/config/helper/configgetter.h index ee0cba1988c..da683fe542b 100644 --- a/config/src/vespa/config/helper/configgetter.h +++ b/config/src/vespa/config/helper/configgetter.h @@ -1,14 +1,15 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/config/config.h> + +#include <vespa/config/subscription/sourcespec.h> #include <vespa/config/common/timingvalues.h> -#include <vespa/config/subscription/confighandle.h> -#include <vespa/vespalib/util/threadstackexecutor.h> #include "ifetchercallback.h" namespace config { +class IConfigContext; + /** * A config fetcher subscribes to a config and notifies a callback when done */ @@ -17,13 +18,11 @@ class ConfigGetter { public: static std::unique_ptr<ConfigType> getConfig(int64_t &generation, const std::string & configId, const SourceSpec & spec = ServerSpec()); - static std::unique_ptr<ConfigType> getConfig(int64_t &generation, const std::string & configId, const IConfigContext::SP & context, uint64_t subscribeTimeout = DEFAULT_SUBSCRIBE_TIMEOUT); + static std::unique_ptr<ConfigType> getConfig(int64_t &generation, const std::string & configId, const std::shared_ptr<IConfigContext> & context, uint64_t subscribeTimeout = DEFAULT_SUBSCRIBE_TIMEOUT); static std::unique_ptr<ConfigType> getConfig(const std::string & configId, const SourceSpec & spec = ServerSpec()); - static std::unique_ptr<ConfigType> getConfig(const std::string & configId, const IConfigContext::SP & context, uint64_t subscribeTimeout = DEFAULT_SUBSCRIBE_TIMEOUT); + static std::unique_ptr<ConfigType> getConfig(const std::string & configId, const std::shared_ptr<IConfigContext> & context, uint64_t subscribeTimeout = DEFAULT_SUBSCRIBE_TIMEOUT); }; } // namespace config -#include "configgetter.hpp" - diff --git a/config/src/vespa/config/helper/configgetter.hpp b/config/src/vespa/config/helper/configgetter.hpp index 5452908a144..b0612768aae 100644 --- a/config/src/vespa/config/helper/configgetter.hpp +++ b/config/src/vespa/config/helper/configgetter.hpp @@ -1,5 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#include "configgetter.h" +#include <vespa/config/subscription/configsubscriber.h> namespace config { template <typename ConfigType> diff --git a/config/src/vespa/config/subscription/configinstancespec.h b/config/src/vespa/config/subscription/configinstancespec.h index 0ba861eb90c..a75f7eea3de 100644 --- a/config/src/vespa/config/subscription/configinstancespec.h +++ b/config/src/vespa/config/subscription/configinstancespec.h @@ -3,6 +3,7 @@ #pragma once #include "sourcespec.h" +#include <vespa/config/common/configkey.h> #include <vespa/vespalib/stllike/asciistream.h> namespace config { @@ -14,7 +15,7 @@ class ConfigInstanceSpec : public SourceSpec { public: ConfigInstanceSpec(const ConfigInstance & instance); - SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + std::unique_ptr<SourceFactory> createSourceFactory(const TimingValues & timingValues) const; private: const ConfigKey _key; vespalib::asciistream _buffer; diff --git a/config/src/vespa/config/subscription/configsubscriptionset.cpp b/config/src/vespa/config/subscription/configsubscriptionset.cpp index 91635a33222..2884a1a4507 100644 --- a/config/src/vespa/config/subscription/configsubscriptionset.cpp +++ b/config/src/vespa/config/subscription/configsubscriptionset.cpp @@ -2,8 +2,8 @@ #include "configsubscriptionset.h" #include <vespa/config/common/exceptions.h> +#include <vespa/config/common/misc.h> #include <thread> -#include <chrono> #include <vespa/log/log.h> LOG_SETUP(".config.subscription.configsubscriptionset"); diff --git a/config/src/vespa/config/subscription/configsubscriptionset.h b/config/src/vespa/config/subscription/configsubscriptionset.h index 3c425baf26c..ec696a6e3ac 100644 --- a/config/src/vespa/config/subscription/configsubscriptionset.h +++ b/config/src/vespa/config/subscription/configsubscriptionset.h @@ -1,15 +1,13 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// #pragma once -#include <memory> -#include <map> + #include <vespa/config/common/iconfigholder.h> #include <vespa/config/common/configcontext.h> #include "confighandle.h" #include "subscriptionid.h" #include "configsubscription.h" #include "configprovider.h" -#include <vespa/vespalib/util/sync.h> -#include <vespa/vespalib/util/priority_queue.h> namespace config { diff --git a/config/src/vespa/config/subscription/sourcespec.cpp b/config/src/vespa/config/subscription/sourcespec.cpp index 2b4c71b8c21..5537533c05f 100644 --- a/config/src/vespa/config/subscription/sourcespec.cpp +++ b/config/src/vespa/config/subscription/sourcespec.cpp @@ -6,18 +6,19 @@ #include <vespa/config/file/filesourcefactory.h> #include <vespa/config/frt/frtsourcefactory.h> #include <vespa/config/frt/frtconnectionpool.h> -#include <vespa/config/frt/protocol.h> -#include <vespa/config/frt/connectionfactory.h> #include <vespa/config/set/configsetsourcefactory.h> #include <vespa/config/set/configinstancesourcefactory.h> #include <vespa/vespalib/text/stringtokenizer.h> #include <vespa/config/print/asciiconfigwriter.h> -#include <vespa/log/log.h> -LOG_SETUP(".config.subscription.sourcespec"); namespace config { +class BuilderMap : public std::map<ConfigKey, ConfigInstance *> { + using Parent = std::map<ConfigKey, ConfigInstance *>; + using Parent::Parent; +}; + RawSpec::RawSpec(const vespalib::string & config) : _config(config) { diff --git a/config/src/vespa/config/subscription/sourcespec.h b/config/src/vespa/config/subscription/sourcespec.h index c6cc8ed38c5..d58b8f9a7f5 100644 --- a/config/src/vespa/config/subscription/sourcespec.h +++ b/config/src/vespa/config/subscription/sourcespec.h @@ -2,16 +2,15 @@ #pragma once -#include <vespa/vespalib/stllike/hash_fun.h> #include <vespa/vespalib/stllike/string.h> -#include <vespa/config/common/sourcefactory.h> -#include <vespa/config/common/timingvalues.h> #include <vespa/config/common/compressiontype.h> -#include <vespa/config/set/configsetsourcefactory.h> -#include <vespa/config/configgen/configinstance.h> namespace config { +class ConfigInstance; +class SourceFactory; +class TimingValues; + typedef vespalib::string SourceSpecKey; /** @@ -21,7 +20,8 @@ typedef vespalib::string SourceSpecKey; class SourceSpec { public: - typedef std::unique_ptr<SourceSpec> UP; /// Convenience typedef + using SourceFactorySP = std::unique_ptr<SourceFactory>; + using UP = std::unique_ptr<SourceSpec>; /// Convenience typedef /** * Creates a source factory from which to create config sources for new @@ -34,7 +34,7 @@ public: * @param timingValues Timing values to be used for this source. * @return An std::unique_ptr<Source> that can be used to ask for config. */ - virtual SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const = 0; + virtual SourceFactorySP createSourceFactory(const TimingValues & timingValues) const = 0; virtual ~SourceSpec() { } }; @@ -53,7 +53,7 @@ public: RawSpec(const vespalib::string & config); // Implements SourceSpec - SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + SourceFactorySP createSourceFactory(const TimingValues & timingValues) const; /** * Returns the string representation of this config. @@ -88,7 +88,7 @@ public: const vespalib::string & getFileName() const { return _fileName; } // Implements SourceSpec - SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + SourceFactorySP createSourceFactory(const TimingValues & timingValues) const; private: void verifyName(const vespalib::string & fileName); vespalib::string _fileName; @@ -116,7 +116,7 @@ public: const vespalib::string & getDirName() const { return _dirName; } // Implements SourceSpec - SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + SourceFactorySP createSourceFactory(const TimingValues & timingValues) const; private: vespalib::string _dirName; }; @@ -153,7 +153,7 @@ public: ServerSpec(const vespalib::string & hostSpec); // Implements SourceSpec - virtual SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + virtual SourceFactorySP createSourceFactory(const TimingValues & timingValues) const; /** * Add another host to this source spec, allowing failover. @@ -205,15 +205,16 @@ private: * A ConfigSet gives the ability to serve config from a set of ConfigInstance * builders. */ + +class BuilderMap; + class ConfigSet : public SourceSpec { public: /// Constructs a new empty ConfigSet ConfigSet(); - /// Mapping of config keys to builders - typedef ConfigSetSourceFactory::BuilderMap BuilderMap; - typedef ConfigSetSourceFactory::BuilderMapSP BuilderMapSP; + using BuilderMapSP = std::shared_ptr<BuilderMap>; /** * Add a builder to serve config from. The builder must be of a * 'ConfigType'Builder, and the configId must be the id to which you want to @@ -227,7 +228,7 @@ public: void addBuilder(const vespalib::string & configId, ConfigInstance * builder); // Implements SourceSpec - SourceFactory::UP createSourceFactory(const TimingValues & timingValues) const; + SourceFactorySP createSourceFactory(const TimingValues & timingValues) const; private: BuilderMapSP _builderMap; }; |