aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.cpp
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2021-09-20 10:58:23 +0200
committerPer Larsson <[email protected]>2021-09-20 10:58:23 +0200
commitf4b7639b0f26d16c9a482b2db5eb598e851d7bb3 (patch)
tree6b16ab3c3542cd8167a0cac48fec78f78d00656c /zenserver/cache/structuredcache.cpp
parentMerge branch 'main' of https://github.com/EpicGames/zen (diff)
downloadzen-f4b7639b0f26d16c9a482b2db5eb598e851d7bb3.tar.xz
zen-f4b7639b0f26d16c9a482b2db5eb598e851d7bb3.zip
Respect skip attachments when retrieved from upstream cache.
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
-rw-r--r--zenserver/cache/structuredcache.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp
index 469e39bd4..2ab433b90 100644
--- a/zenserver/cache/structuredcache.cpp
+++ b/zenserver/cache/structuredcache.cpp
@@ -333,6 +333,18 @@ HttpStructuredCacheService::HandleCacheRecordRequest(zen::HttpServerRequest& Req
if (FoundCount == AttachmentCount)
{
m_CacheStore.Put(Ref.BucketSegment, Ref.HashKey, {.Value = CacheRecord.GetBuffer().AsIoBuffer()});
+
+ if (zen::CachePolicy::SkipAttachments == (Policy & zen::CachePolicy::SkipAttachments))
+ {
+ CbPackage PackageWithoutAttachments;
+ PackageWithoutAttachments.SetObject(CacheRecord);
+
+ MemoryOutStream MemStream;
+ BinaryWriter Writer(MemStream);
+ PackageWithoutAttachments.Save(Writer);
+
+ Value.Value = IoBuffer(IoBuffer::Clone, MemStream.Data(), MemStream.Size());
+ }
}
else
{