aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-11-03 14:28:14 +0100
committerStefan Boberg <[email protected]>2021-11-03 14:28:14 +0100
commit3de4c9e930a3357b93c46a6c9144a36e2f073ec7 (patch)
treed3010a672680fcc07d6479ef20ebcf903f0f3a39 /zenserver/cache/structuredcache.cpp
parentFixed unused variable warning (diff)
downloadzen-3de4c9e930a3357b93c46a6c9144a36e2f073ec7.tar.xz
zen-3de4c9e930a3357b93c46a6c9144a36e2f073ec7.zip
Add /vsxmake* to .gitignore
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
-rw-r--r--zenserver/cache/structuredcache.cpp38
1 files changed, 35 insertions, 3 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp
index ffb6f563a..d71329a4b 100644
--- a/zenserver/cache/structuredcache.cpp
+++ b/zenserver/cache/structuredcache.cpp
@@ -1,7 +1,10 @@
// Copyright Epic Games, Inc. All Rights Reserved.
+#include "structuredcache.h"
+
#include <zencore/compactbinary.h>
#include <zencore/compactbinarybuilder.h>
+#include <zencore/compactbinarypackage.h>
#include <zencore/compactbinaryvalidation.h>
#include <zencore/compress.h>
#include <zencore/fmtutils.h>
@@ -13,15 +16,12 @@
#include <zenstore/CAS.h>
#include "monitoring/httpstats.h"
-#include "structuredcache.h"
#include "structuredcachestore.h"
#include "upstream/jupiter.h"
#include "upstream/upstreamcache.h"
#include "upstream/zen.h"
#include "zenstore/cidstore.h"
-#include <zencore/compactbinarypackage.h>
-
#include <algorithm>
#include <atomic>
#include <filesystem>
@@ -147,6 +147,36 @@ ParseCachePolicy(const HttpServerRequest::QueryParams& QueryParams)
//////////////////////////////////////////////////////////////////////////
+class CacheAccessTracker
+{
+public:
+ CacheAccessTracker();
+ ~CacheAccessTracker();
+
+ void TrackAccess(std::string_view BucketSegment, const IoHash& HashKey);
+
+private:
+ RwLock m_Lock;
+};
+
+CacheAccessTracker::CacheAccessTracker()
+{
+}
+
+CacheAccessTracker::~CacheAccessTracker()
+{
+}
+
+void
+CacheAccessTracker::TrackAccess(std::string_view BucketSegment, const IoHash& HashKey)
+{
+ ZEN_UNUSED(BucketSegment, HashKey);
+}
+
+CacheAccessTracker g_AccessTracker;
+
+//////////////////////////////////////////////////////////////////////////
+
HttpStructuredCacheService::HttpStructuredCacheService(ZenCacheStore& InCacheStore,
CidStore& InCidStore,
HttpStatsService& StatsService,
@@ -299,6 +329,8 @@ HttpStructuredCacheService::HandleGetCacheRecord(zen::HttpServerRequest& Request
{
Success = true;
+ g_AccessTracker.TrackAccess(Ref.BucketSegment, Ref.HashKey);
+
if (!SkipData && AcceptType == ZenContentType::kCbPackage)
{
CbPackage Package;