diff options
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
| -rw-r--r-- | zenserver/upstream/upstreamcache.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp index c015ef3e9..e235db516 100644 --- a/zenserver/upstream/upstreamcache.cpp +++ b/zenserver/upstream/upstreamcache.cpp @@ -292,8 +292,20 @@ namespace detail { virtual bool Initialize() override { - // TODO: Test and authenticate Zen client connection - return !m_Client->ServiceUrl().empty(); + try + { + ZenStructuredCacheSession Session(*m_Client); + ZenCacheResult Result; + for (int32_t Attempt = 0, MaxAttempts = 3; Attempt < MaxAttempts && !Result.Success; ++Attempt) + { + Result = Session.SayHello(); + } + return Result.Success; + } + catch (std::exception&) + { + return false; + } } virtual std::string_view DisplayName() const override { return m_DisplayName; } |