diff options
| author | zousar <[email protected]> | 2022-02-09 07:59:34 -0700 |
|---|---|---|
| committer | zousar <[email protected]> | 2022-02-09 07:59:34 -0700 |
| commit | 39be434dbe93e2566b3070128e148bdb2ee7ac8b (patch) | |
| tree | e586e913c5df7930c56c7bee1388d91a2641412f /zenserver/upstream/upstreamcache.cpp | |
| parent | Change Value propagation to Zen or Jupiter (diff) | |
| download | zen-39be434dbe93e2566b3070128e148bdb2ee7ac8b.tar.xz zen-39be434dbe93e2566b3070128e148bdb2ee7ac8b.zip | |
prepare_commit to fix formatting
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
| -rw-r--r-- | zenserver/upstream/upstreamcache.cpp | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp index b165c3e7e..a7453077c 100644 --- a/zenserver/upstream/upstreamcache.cpp +++ b/zenserver/upstream/upstreamcache.cpp @@ -416,12 +416,16 @@ namespace detail { ReferencingObject.AddBinaryAttachment("RawHash", RawHash); ReferencingObject.AddInteger("RawSize", Compressed.GetRawSize()); - return PerformStructuredPut(Session, CacheRecord.Key, ReferencingObject.Save().GetBuffer().AsIoBuffer(), MaxAttempts, + return PerformStructuredPut( + Session, + CacheRecord.Key, + ReferencingObject.Save().GetBuffer().AsIoBuffer(), + MaxAttempts, [&](const IoHash& ValueContentId, IoBuffer& OutBuffer, std::string& OutReason) { - if (ValueContentId != RawHash) { - OutReason = fmt::format("Value '{}' MISMATCHED from compressed buffer raw hash {}", ValueContentId, RawHash); + OutReason = + fmt::format("Value '{}' MISMATCHED from compressed buffer raw hash {}", ValueContentId, RawHash); return false; } @@ -431,22 +435,26 @@ namespace detail { } else { - return PerformStructuredPut(Session, CacheRecord.Key, RecordValue, MaxAttempts, [&](const IoHash& ValueContentId, IoBuffer& OutBuffer, std::string& OutReason) { - - const auto It = - std::find(std::begin(CacheRecord.ValueContentIds), std::end(CacheRecord.ValueContentIds), ValueContentId); + return PerformStructuredPut( + Session, + CacheRecord.Key, + RecordValue, + MaxAttempts, + [&](const IoHash& ValueContentId, IoBuffer& OutBuffer, std::string& OutReason) { + const auto It = + std::find(std::begin(CacheRecord.ValueContentIds), std::end(CacheRecord.ValueContentIds), ValueContentId); - if (It == std::end(CacheRecord.ValueContentIds)) - { - OutReason = fmt::format("value '{}' MISSING from local cache", ValueContentId); - return false; - } + if (It == std::end(CacheRecord.ValueContentIds)) + { + OutReason = fmt::format("value '{}' MISSING from local cache", ValueContentId); + return false; + } - const size_t Idx = std::distance(std::begin(CacheRecord.ValueContentIds), It); + const size_t Idx = std::distance(std::begin(CacheRecord.ValueContentIds), It); - OutBuffer = Values[Idx]; - return true; - }); + OutBuffer = Values[Idx]; + return true; + }); } } catch (std::exception& Err) @@ -472,9 +480,14 @@ namespace detail { } }; - PutUpstreamCacheResult PerformStructuredPut(CloudCacheSession& Session, const CacheKey& Key, IoBuffer ObjectBuffer, const int32_t MaxAttempts, std::function<bool(const IoHash& ValueContentId, IoBuffer& OutBuffer, std::string& OutReason)>&& BlobFetchFn) + PutUpstreamCacheResult PerformStructuredPut( + CloudCacheSession& Session, + const CacheKey& Key, + IoBuffer ObjectBuffer, + const int32_t MaxAttempts, + std::function<bool(const IoHash& ValueContentId, IoBuffer& OutBuffer, std::string& OutReason)>&& BlobFetchFn) { - int64_t TotalBytes = 0ull; + int64_t TotalBytes = 0ull; double TotalElapsedSeconds = 0.0; const auto PutBlobs = [&](std::span<IoHash> ValueContentIds, std::string& OutReason) -> bool { @@ -517,11 +530,8 @@ namespace detail { if (!RefResult.Success) { - return { .Reason = fmt::format("upload cache record '{}/{}' FAILED, reason '{}'", - Key.Bucket, - Key.Hash, - RefResult.Reason), - .Success = false }; + return {.Reason = fmt::format("upload cache record '{}/{}' FAILED, reason '{}'", Key.Bucket, Key.Hash, RefResult.Reason), + .Success = false}; } TotalBytes += RefResult.Bytes; @@ -530,28 +540,26 @@ namespace detail { std::string Reason; if (!PutBlobs(RefResult.Needs, Reason)) { - return { .Reason = std::move(Reason), .Success = false }; + return {.Reason = std::move(Reason), .Success = false}; } - const IoHash RefHash = IoHash::HashBuffer(ObjectBuffer); + const IoHash RefHash = IoHash::HashBuffer(ObjectBuffer); FinalizeRefResult FinalizeResult = Session.FinalizeRef(Key.Bucket, Key.Hash, RefHash); m_Status.SetFromErrorCode(FinalizeResult.ErrorCode, FinalizeResult.Reason); if (!FinalizeResult.Success) { - return { .Reason = fmt::format("finalize cache record '{}/{}' FAILED, reason '{}'", - Key.Bucket, - Key.Hash, - FinalizeResult.Reason), - .Success = false }; + return { + .Reason = fmt::format("finalize cache record '{}/{}' FAILED, reason '{}'", Key.Bucket, Key.Hash, FinalizeResult.Reason), + .Success = false}; } if (!FinalizeResult.Needs.empty()) { if (!PutBlobs(FinalizeResult.Needs, Reason)) { - return { .Reason = std::move(Reason), .Success = false }; + return {.Reason = std::move(Reason), .Success = false}; } FinalizeResult = Session.FinalizeRef(Key.Bucket, Key.Hash, RefHash); @@ -560,11 +568,8 @@ namespace detail { if (!FinalizeResult.Success) { - return { .Reason = fmt::format("finalize '{}/{}' FAILED, reason '{}'", - Key.Bucket, - Key.Hash, - FinalizeResult.Reason), - .Success = false }; + return {.Reason = fmt::format("finalize '{}/{}' FAILED, reason '{}'", Key.Bucket, Key.Hash, FinalizeResult.Reason), + .Success = false}; } if (!FinalizeResult.Needs.empty()) @@ -575,19 +580,16 @@ namespace detail { Sb << MissingHash.ToHexString() << ","; } - return { .Reason = fmt::format("finalize '{}/{}' FAILED, still needs value(s) '{}'", - Key.Bucket, - Key.Hash, - Sb.ToString()), - .Success = false }; + return { + .Reason = fmt::format("finalize '{}/{}' FAILED, still needs value(s) '{}'", Key.Bucket, Key.Hash, Sb.ToString()), + .Success = false}; } } TotalBytes += FinalizeResult.Bytes; TotalElapsedSeconds += FinalizeResult.ElapsedSeconds; - return { .Bytes = TotalBytes, .ElapsedSeconds = TotalElapsedSeconds, .Success = true }; - + return {.Bytes = TotalBytes, .ElapsedSeconds = TotalElapsedSeconds, .Success = true}; } spdlog::logger& Log() { return m_Log; } @@ -993,7 +995,7 @@ namespace detail { CbPackage BatchPackage; CbObjectWriter BatchWriter; BatchWriter << "Method"sv - << "PutCacheValues"; + << "PutCacheValues"; BatchWriter.BeginObject("Params"sv); { |