aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/upstream
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-08-17 09:30:40 +0200
committerGitHub <[email protected]>2023-08-17 09:30:40 +0200
commit6b06cffdb84fdb9b010e6aefc642db763b6386d5 (patch)
tree193ba716a459fa838f71cf5af19dd6483614066a /src/zenserver/upstream
parentchangelog (diff)
downloadzen-6b06cffdb84fdb9b010e6aefc642db763b6386d5.tar.xz
zen-6b06cffdb84fdb9b010e6aefc642db763b6386d5.zip
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
Diffstat (limited to 'src/zenserver/upstream')
-rw-r--r--src/zenserver/upstream/upstreamcache.cpp6
-rw-r--r--src/zenserver/upstream/upstreamcache.h2
2 files changed, 8 insertions, 0 deletions
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<std::shared_mutex> _(m_EndpointsMutex);
+ return !m_Endpoints.empty();
+ }
+
virtual void RegisterEndpoint(std::unique_ptr<UpstreamEndpoint> 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<UpstreamEndpoint> Endpoint) = 0;
virtual void IterateEndpoints(std::function<bool(UpstreamEndpoint&)>&& Fn) = 0;