diff options
| author | Stefan Boberg <[email protected]> | 2021-10-03 17:08:32 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-10-03 17:08:32 +0200 |
| commit | 5f4f5ab05019ff6e903db70f5b15878773eb120d (patch) | |
| tree | ceae29d6bd090446837ca5a0d336bb921936d95b /zenserver/config.cpp | |
| parent | structured cache: Added some more stats (hits/misses/upstream_hits) (diff) | |
| parent | Merged from upstream (diff) | |
| download | zen-5f4f5ab05019ff6e903db70f5b15878773eb120d.tar.xz zen-5f4f5ab05019ff6e903db70f5b15878773eb120d.zip | |
Merge branch 'main' of https://github.com/EpicGames/zen
Diffstat (limited to 'zenserver/config.cpp')
| -rw-r--r-- | zenserver/config.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/zenserver/config.cpp b/zenserver/config.cpp index 759534d58..7a1efe6e8 100644 --- a/zenserver/config.cpp +++ b/zenserver/config.cpp @@ -213,8 +213,8 @@ ParseGlobalCliOptions(int argc, char* argv[], ZenServerOptions& GlobalOptions, Z options.add_option("cache", "", "upstream-zen-url", - "URL to a remote Zen server instance", - cxxopts::value<std::string>(ServiceConfig.UpstreamCacheConfig.ZenConfig.Url)->default_value(""), + "URL to remote Zen server. Use a comma separated list to choose the one with the best latency.", + cxxopts::value<std::vector<std::string>>(ServiceConfig.UpstreamCacheConfig.ZenConfig.Urls)->default_value(""), ""); options.add_option("cache", @@ -367,9 +367,17 @@ ParseServiceConfig(const std::filesystem::path& DataRoot, ZenServiceConfig& Serv if (auto ZenConfig = UpstreamConfig->get<sol::optional<sol::table>>("zen")) { - UpdateStringValueFromConfig(ZenConfig.value(), - std::string_view("url"), - ServiceConfig.UpstreamCacheConfig.ZenConfig.Url); + if (auto Url = ZenConfig.value().get<sol::optional<std::string>>("url")) + { + ServiceConfig.UpstreamCacheConfig.ZenConfig.Urls.push_back(Url.value()); + } + else if (auto Urls = ZenConfig.value().get<sol::optional<sol::table>>("url")) + { + for (const auto& Kv : Urls.value()) + { + ServiceConfig.UpstreamCacheConfig.ZenConfig.Urls.push_back(Kv.second.as<std::string>()); + } + } } } } |