From 6b06cffdb84fdb9b010e6aefc642db763b6386d5 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Thu, 17 Aug 2023 09:30:40 +0200 Subject: skip upstream logic early if we have no upstream endpoints (#359) * Skip upstream logic early if we have not upstream endpoints * make cache store logging of CbObjects async * changelog --- src/zenserver/upstream/upstreamcache.cpp | 6 ++++++ src/zenserver/upstream/upstreamcache.h | 2 ++ 2 files changed, 8 insertions(+) (limited to 'src/zenserver/upstream') diff --git a/src/zenserver/upstream/upstreamcache.cpp b/src/zenserver/upstream/upstreamcache.cpp index 01ba626bd..15f68f70c 100644 --- a/src/zenserver/upstream/upstreamcache.cpp +++ b/src/zenserver/upstream/upstreamcache.cpp @@ -1503,6 +1503,12 @@ public: m_RunState.IsRunning = true; } + virtual bool IsActive() override + { + std::shared_lock _(m_EndpointsMutex); + return !m_Endpoints.empty(); + } + virtual void RegisterEndpoint(std::unique_ptr Endpoint) override { ZEN_TRACE_CPU("Upstream::RegisterEndpoint"); diff --git a/src/zenserver/upstream/upstreamcache.h b/src/zenserver/upstream/upstreamcache.h index 8f1395509..291e7e95e 100644 --- a/src/zenserver/upstream/upstreamcache.h +++ b/src/zenserver/upstream/upstreamcache.h @@ -224,6 +224,8 @@ public: virtual void Initialize() = 0; + virtual bool IsActive() = 0; + virtual void RegisterEndpoint(std::unique_ptr Endpoint) = 0; virtual void IterateEndpoints(std::function&& Fn) = 0; -- cgit v1.2.3