diff options
| author | Dan Engelbrecht <[email protected]> | 2022-09-16 12:19:17 +0200 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-09-16 12:19:17 +0200 |
| commit | 5ff26cfd356655894106560f215e2a56412be5a2 (patch) | |
| tree | 90d6225bacb589f825947c00ebee515860370ed7 | |
| parent | 0.1.6-pre8 (diff) | |
| download | zen-de/reduce-upstream-api.tar.xz zen-de/reduce-upstream-api.zip | |
harmonize ZenUpstreamEndpoint::PutCacheRecord with JupiterUpstreamEndpoint::PutCacheRecordde/reduce-upstream-api
| -rw-r--r-- | zenserver/upstream/upstreamcache.cpp | 68 |
1 files changed, 22 insertions, 46 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp index 8288b910d..680d21c7e 100644 --- a/zenserver/upstream/upstreamcache.cpp +++ b/zenserver/upstream/upstreamcache.cpp @@ -1198,40 +1198,23 @@ namespace detail { int64_t TotalBytes = 0ull; double TotalElapsedSeconds = 0.0; - if (CacheRecord.Type == ZenContentType::kCbPackage) + if (CacheRecord.Type == ZenContentType::kBinary) { - CbPackage Package; - Package.SetObject(CbObject(SharedBuffer(RecordValue))); - - for (const IoBuffer& Value : Values) - { - if (CompressedBuffer AttachmentBuffer = CompressedBuffer::FromCompressed(SharedBuffer(Value))) - { - Package.AddAttachment(CbAttachment(AttachmentBuffer)); - } - else - { - return {.Reason = std::string("Invalid value buffer"), .Success = false}; - } - } - - BinaryWriter MemStream; - Package.Save(MemStream); - IoBuffer PackagePayload(IoBuffer::Wrap, MemStream.Data(), MemStream.Size()); - + ZEN_ASSERT(Values.size() == 0); + Result.Success = false; for (uint32_t Attempt = 0; Attempt < MaxAttempts && !Result.Success; Attempt++) { Result = Session.PutCacheRecord(CacheRecord.Namespace, CacheRecord.Key.Bucket, CacheRecord.Key.Hash, - PackagePayload, + RecordValue, CacheRecord.Type); } m_Status.SetFromErrorCode(Result.ErrorCode, Result.Reason); - TotalBytes = Result.Bytes; - TotalElapsedSeconds = Result.ElapsedSeconds; + TotalBytes += Result.Bytes; + TotalElapsedSeconds += Result.ElapsedSeconds; } else if (CacheRecord.Type == ZenContentType::kCompressedBinary) { @@ -1287,46 +1270,39 @@ namespace detail { } else { - for (size_t Idx = 0, Count = Values.size(); Idx < Count; Idx++) + ZEN_ASSERT(CacheRecord.Type == ZenContentType::kCbPackage || CacheRecord.Type == ZenContentType::kCbObject); + CbPackage Package; + Package.SetObject(CbObject(SharedBuffer(RecordValue))); + + for (const IoBuffer& Value : Values) { - Result.Success = false; - for (uint32_t Attempt = 0; Attempt < MaxAttempts && !Result.Success; Attempt++) + if (CompressedBuffer AttachmentBuffer = CompressedBuffer::FromCompressed(SharedBuffer(Value))) { - Result = Session.PutCacheValue(CacheRecord.Namespace, - CacheRecord.Key.Bucket, - CacheRecord.Key.Hash, - CacheRecord.ValueContentIds[Idx], - Values[Idx]); + Package.AddAttachment(CbAttachment(AttachmentBuffer)); } - - m_Status.SetFromErrorCode(Result.ErrorCode, Result.Reason); - - TotalBytes += Result.Bytes; - TotalElapsedSeconds += Result.ElapsedSeconds; - - if (!Result.Success) + else { - return {.Reason = "Failed to upload value", - .Bytes = TotalBytes, - .ElapsedSeconds = TotalElapsedSeconds, - .Success = false}; + return {.Reason = std::string("Invalid value buffer"), .Success = false}; } } - Result.Success = false; + BinaryWriter MemStream; + Package.Save(MemStream); + IoBuffer PackagePayload(IoBuffer::Wrap, MemStream.Data(), MemStream.Size()); + for (uint32_t Attempt = 0; Attempt < MaxAttempts && !Result.Success; Attempt++) { Result = Session.PutCacheRecord(CacheRecord.Namespace, CacheRecord.Key.Bucket, CacheRecord.Key.Hash, - RecordValue, + PackagePayload, CacheRecord.Type); } m_Status.SetFromErrorCode(Result.ErrorCode, Result.Reason); - TotalBytes += Result.Bytes; - TotalElapsedSeconds += Result.ElapsedSeconds; + TotalBytes = Result.Bytes; + TotalElapsedSeconds = Result.ElapsedSeconds; } return {.Reason = std::move(Result.Reason), |