diff options
| author | Stefan Boberg <[email protected]> | 2021-09-06 19:07:37 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-06 19:07:37 +0200 |
| commit | e14340b63a36d07fb256c98c59d9f150a5693ce9 (patch) | |
| tree | 4cdbf6900bb822fd2e311079cad25ba2f54f778d /zenserver/upstream/upstreamcache.cpp | |
| parent | clang-format fixes (diff) | |
| parent | Support for switching between storing derived data using the legacy DDC endpo... (diff) | |
| download | zen-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.cpp | 24 |
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; }; |