aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.h
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-08-12 10:05:20 +0200
committerStefan Boberg <[email protected]>2021-08-12 10:05:20 +0200
commite664bbc31ff4ea866401c9303c53108242a6cb27 (patch)
tree71dccfc377f58042a5776db85738e3cf2e495358 /zenserver/cache/structuredcache.h
parentImplemented Flush() operation for CID/CAS store interfaces (diff)
downloadzen-e664bbc31ff4ea866401c9303c53108242a6cb27.tar.xz
zen-e664bbc31ff4ea866401c9303c53108242a6cb27.zip
Implemented flush operations for cache services
Also implemented basic upstream query interface, which needs a bit more work to be fully functional (chunk propagation / fetching and new propagation policies as per DDC requirements)
Diffstat (limited to 'zenserver/cache/structuredcache.h')
-rw-r--r--zenserver/cache/structuredcache.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/zenserver/cache/structuredcache.h b/zenserver/cache/structuredcache.h
index 95ae6a76c..f42b5bfb7 100644
--- a/zenserver/cache/structuredcache.h
+++ b/zenserver/cache/structuredcache.h
@@ -8,10 +8,13 @@
#include "structuredcachestore.h"
#include "upstream/jupiter.h"
+#include <spdlog/spdlog.h>
+
namespace zen {
class CloudCacheClient;
class CidStore;
+class ZenStructuredCacheClient;
/**
* Structured cache service. Imposes constraints on keys, supports blobs and
@@ -51,6 +54,8 @@ public:
virtual void HandleRequest(zen::HttpServerRequest& Request) override;
+ void Flush();
+
private:
struct CacheRef
{
@@ -63,10 +68,12 @@ private:
void HandleCacheRecordRequest(zen::HttpServerRequest& Request, CacheRef& Ref);
void HandleCachePayloadRequest(zen::HttpServerRequest& Request, CacheRef& Ref);
- zen::CasStore& m_CasStore;
- zen::CidStore& m_CidStore;
- ZenCacheStore m_CacheStore;
- RefPtr<CloudCacheClient> m_Cloud;
+ spdlog::logger m_Log;
+ zen::CasStore& m_CasStore;
+ zen::CidStore& m_CidStore;
+ ZenCacheStore m_CacheStore;
+ RefPtr<CloudCacheClient> m_Cloud;
+ RefPtr<ZenStructuredCacheClient> m_ZenClient;
};
} // namespace zen