aboutsummaryrefslogtreecommitdiff
path: root/zenserver/upstream/upstreamcache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
-rw-r--r--zenserver/upstream/upstreamcache.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp
index c9ba59780..1a35f7283 100644
--- a/zenserver/upstream/upstreamcache.cpp
+++ b/zenserver/upstream/upstreamcache.cpp
@@ -1243,6 +1243,22 @@ public:
}
Status.EndArray();
}
+
+ virtual void WaitForIdle() override
+ {
+ UpstreamCacheRecord CacheRecord;
+ while (m_RunState.IsRunning && m_UpstreamQueue.TryDequeue(CacheRecord))
+ {
+ try
+ {
+ ProcessCacheRecord(std::move(CacheRecord));
+ }
+ catch (std::exception& Err)
+ {
+ ZEN_ERROR("upload cache record '{}/{}' FAILED, reason '{}'", CacheRecord.Key.Bucket, CacheRecord.Key.Hash, Err.what());
+ }
+ }
+ }
private:
void ProcessCacheRecord(UpstreamCacheRecord CacheRecord)