// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "configgetter.h" #include namespace config { template std::unique_ptr ConfigGetter::getConfig(int64_t &generation, const std::string & configId, const SourceSpec & spec) { ConfigSubscriber s(spec); std::unique_ptr< ConfigHandle > h = s.subscribe(configId); s.nextConfigNow(); generation = s.getGeneration(); return h->getConfig(); } template std::unique_ptr ConfigGetter::getConfig(int64_t &generation, const std::string & configId, std::shared_ptr context, vespalib::duration subscribeTimeout) { ConfigSubscriber s(std::move(context)); std::unique_ptr< ConfigHandle > h = s.subscribe(configId, subscribeTimeout); s.nextConfigNow(); generation = s.getGeneration(); return h->getConfig(); } template std::unique_ptr ConfigGetter::getConfig(const std::string & configId, const SourceSpec & spec) { int64_t ignoreGeneration; return getConfig(ignoreGeneration, configId, spec); } template std::unique_ptr ConfigGetter::getConfig(const std::string & configId, std::shared_ptr context, vespalib::duration subscribeTimeout) { int64_t ignoreGeneration; return getConfig(ignoreGeneration, configId, std::move(context), subscribeTimeout); } } // namespace config