From 013e2c7ab88dc51d92d683e8f8ec488bdb4d08d9 Mon Sep 17 00:00:00 2001 From: Joe Kirchoff Date: Tue, 3 May 2022 15:57:02 -0700 Subject: Initialize upstream apply in background thread (#88) --- zenserver/upstream/upstreamapply.cpp | 22 ++++++++++++++++++++++ zenserver/upstream/upstreamapply.h | 1 + 2 files changed, 23 insertions(+) (limited to 'zenserver/upstream') diff --git a/zenserver/upstream/upstreamapply.cpp b/zenserver/upstream/upstreamapply.cpp index 9758e7565..c397bb141 100644 --- a/zenserver/upstream/upstreamapply.cpp +++ b/zenserver/upstream/upstreamapply.cpp @@ -119,6 +119,22 @@ public: return m_RunState.IsRunning; } + virtual bool IsHealthy() const override + { + if (m_RunState.IsRunning) + { + for (const auto& Endpoint : m_Endpoints) + { + if (Endpoint->IsHealthy()) + { + return true; + } + } + } + + return false; + } + virtual void RegisterEndpoint(std::unique_ptr Endpoint) override { m_Endpoints.emplace_back(std::move(Endpoint)); @@ -429,6 +445,12 @@ private: ////////////////////////////////////////////////////////////////////////// +bool +UpstreamApply::IsHealthy() const +{ + return false; +} + std::unique_ptr UpstreamApply::Create(const UpstreamApplyOptions& Options, CasStore& CasStore, CidStore& CidStore) { diff --git a/zenserver/upstream/upstreamapply.h b/zenserver/upstream/upstreamapply.h index c6e38142c..2edc6dc49 100644 --- a/zenserver/upstream/upstreamapply.h +++ b/zenserver/upstream/upstreamapply.h @@ -167,6 +167,7 @@ public: virtual ~UpstreamApply() = default; virtual bool Initialize() = 0; + virtual bool IsHealthy() const = 0; virtual void RegisterEndpoint(std::unique_ptr Endpoint) = 0; struct EnqueueResult -- cgit v1.2.3