aboutsummaryrefslogtreecommitdiff
path: root/zenserver/upstream/upstreamcache.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-06 19:07:37 +0200
committerStefan Boberg <[email protected]>2021-09-06 19:07:37 +0200
commite14340b63a36d07fb256c98c59d9f150a5693ce9 (patch)
tree4cdbf6900bb822fd2e311079cad25ba2f54f778d /zenserver/upstream/upstreamcache.cpp
parentclang-format fixes (diff)
parentSupport for switching between storing derived data using the legacy DDC endpo... (diff)
downloadzen-e14340b63a36d07fb256c98c59d9f150a5693ce9.tar.xz
zen-e14340b63a36d07fb256c98c59d9f150a5693ce9.zip
Merge branch 'main' of https://github.com/EpicGames/zen
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
-rw-r--r--zenserver/upstream/upstreamcache.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp
index 6c9baf9b0..f7a91acb5 100644
--- a/zenserver/upstream/upstreamcache.cpp
+++ b/zenserver/upstream/upstreamcache.cpp
@@ -89,7 +89,7 @@ namespace detail {
class JupiterUpstreamEndpoint final : public zen::UpstreamEndpoint
{
public:
- JupiterUpstreamEndpoint(const CloudCacheClientOptions& Options)
+ JupiterUpstreamEndpoint(const CloudCacheClientOptions& Options) : m_UseLegacyDdc(Options.UseLegacyDdc)
{
using namespace fmt::literals;
m_DisplayName = "Jupier - '{}'"_format(Options.ServiceUrl);
@@ -113,13 +113,13 @@ namespace detail {
zen::CloudCacheSession Session(m_Client);
CloudCacheResult Result;
- if (Type == ZenContentType::kBinary)
+ if (m_UseLegacyDdc && Type == ZenContentType::kBinary)
{
Result = Session.GetDerivedData(CacheKey.Bucket, CacheKey.Hash);
}
else
{
- Result = Session.GetRef(CacheKey.Bucket, CacheKey.Hash);
+ Result = Session.GetRef(CacheKey.Bucket, CacheKey.Hash, Type);
}
return {.Value = Result.Value, .Success = Result.Success};
@@ -160,7 +160,17 @@ namespace detail {
CloudCacheResult Result;
for (int32_t Attempt = 0; Attempt < MaxAttempts && !Result.Success; Attempt++)
{
- Result = Session.PutDerivedData(CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, RecordValue);
+ if (m_UseLegacyDdc)
+ {
+ Result = Session.PutDerivedData(CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, RecordValue);
+ }
+ else
+ {
+ Result = Session.PutRef(CacheRecord.CacheKey.Bucket,
+ CacheRecord.CacheKey.Hash,
+ RecordValue,
+ ZenContentType::kBinary);
+ }
}
return {.Success = Result.Success};
@@ -185,7 +195,10 @@ namespace detail {
CloudCacheResult Result;
for (int32_t Attempt = 0; Attempt < MaxAttempts && !Result.Success; Attempt++)
{
- Result = Session.PutRef(CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, RecordValue);
+ Result = Session.PutRef(CacheRecord.CacheKey.Bucket,
+ CacheRecord.CacheKey.Hash,
+ RecordValue,
+ ZenContentType::kCbObject);
}
return {.Success = Result.Success};
@@ -199,6 +212,7 @@ namespace detail {
}
private:
+ bool m_UseLegacyDdc;
std::string m_DisplayName;
RefPtr<CloudCacheClient> m_Client;
};