diff options
| author | Dan Engelbrecht <[email protected]> | 2022-07-01 03:29:29 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-07-01 03:29:29 -0700 |
| commit | e2f2ff0ed85909e75b27c2befc337a6f69484ee4 (patch) | |
| tree | af9c432ba3570e343950b3c33e17ad02b8bf3f86 /zenutil/cache | |
| parent | Use cacherequest::* for zenserver tests (#135) (diff) | |
| download | zen-e2f2ff0ed85909e75b27c2befc337a6f69484ee4.tar.xz zen-e2f2ff0ed85909e75b27c2befc337a6f69484ee4.zip | |
Remove PutCacheRecordRequest::RecordBody and GetCacheRecordResult:RecordBody (#140)
Diffstat (limited to 'zenutil/cache')
| -rw-r--r-- | zenutil/cache/cacherequests.cpp | 98 |
1 files changed, 50 insertions, 48 deletions
diff --git a/zenutil/cache/cacherequests.cpp b/zenutil/cache/cacherequests.cpp index 24f54eede..2c14ef35b 100644 --- a/zenutil/cache/cacherequests.cpp +++ b/zenutil/cache/cacherequests.cpp @@ -230,12 +230,6 @@ namespace cacherequests { } } }); - Request.RecordBody = [RecordObject]() { - IoBuffer RecordBody = IoBuffer(RecordObject.GetSize()); - RecordObject.CopyTo(RecordBody.GetMutableView()); - RecordBody.SetContentType(ZenContentType::kCbObject); - return RecordBody; - }; } return true; @@ -451,13 +445,6 @@ namespace cacherequests { return false; } - Request.RecordBody = [RecordObject]() { - IoBuffer RecordBody = IoBuffer(RecordObject.GetSize()); - RecordObject.CopyTo(RecordBody.GetMutableView()); - RecordBody.SetContentType(ZenContentType::kCbObject); - return RecordBody; - }; - CbArrayView ValuesArray = RecordObject["Values"].AsArrayView(); Request.Values.reserve(ValuesArray.Num()); for (CbFieldView Value : ValuesArray) @@ -484,33 +471,41 @@ namespace cacherequests { bool GetCacheRecordsResult::Format(CbPackage& OutPackage) const { - CbObjectWriter ResponseObject; + CbObjectWriter Writer; - ResponseObject.BeginArray("Result"); + Writer.BeginArray("Result"); for (const std::optional<GetCacheRecordResult>& RecordResult : Results) { if (!RecordResult.has_value()) { - ResponseObject.AddNull(); + Writer.AddNull(); continue; } - IoBuffer RecordBody = RecordResult->RecordBody(); - if (!RecordBody) - { - return false; - } - ResponseObject << CbObjectView(RecordBody.Data()); + Writer.BeginObject(); + WriteCacheRequestKey(Writer, RecordResult->Key); + + Writer.BeginArray("Values"); for (const GetCacheRecordResultValue& Value : RecordResult->Values) { + Writer.BeginObject(); + { + Writer.AddObjectId("Id", Value.Id); + Writer.AddHash("RawHash", Value.Body ? IoHash::FromBLAKE3(Value.Body.GetRawHash()) : Value.RawHash); + Writer.AddInteger("RawSize", Value.Body ? Value.Body.GetRawSize() : Value.RawSize); + } + Writer.EndObject(); if (Value.Body) { OutPackage.AddAttachment(CbAttachment(Value.Body)); } } + + Writer.EndArray(); + Writer.EndObject(); } - ResponseObject.EndArray(); + Writer.EndArray(); - OutPackage.SetObject(ResponseObject.Save()); + OutPackage.SetObject(Writer.Save()); return true; } @@ -1099,6 +1094,15 @@ namespace cacherequests { return Lhs.Key == Rhs.Key && Lhs.Values == Rhs.Values; } + static bool operator==(const std::optional<GetCacheRecordResult>& Lhs, const std::optional<GetCacheRecordResult>& Rhs) + { + if (Lhs.has_value() != Rhs.has_value()) + { + return false; + } + return *Lhs == Rhs; + } + static bool operator==(const GetCacheRecordsResult& Lhs, const GetCacheRecordsResult& Rhs) { return Lhs.Results == Rhs.Results; } static bool operator==(const PutCacheValueRequest& Lhs, const PutCacheValueRequest& Rhs) @@ -1277,36 +1281,34 @@ namespace cacherequests { CHECK(FullPutRequestCopy.Parse(FullPutRequestPackage)); GetCacheRecordsResult FullResult = { - {GetCacheRecordResult{.Key = FullPutRequestCopy.Requests[0].Key, - .RecordBody = FullPutRequestCopy.Requests[0].RecordBody, - .Values = {{.Id = FullPutRequestCopy.Requests[0].Values[0].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[0].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[0].Values[0].Body.GetRawSize(), - .Body = FullPutRequestCopy.Requests[0].Values[0].Body}, + {GetCacheRecordResult{.Key = FullPutRequestCopy.Requests[0].Key, + .Values = {{.Id = FullPutRequestCopy.Requests[0].Values[0].Id, + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[0].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[0].Values[0].Body.GetRawSize(), + .Body = FullPutRequestCopy.Requests[0].Values[0].Body}, {.Id = FullPutRequestCopy.Requests[0].Values[1].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[1].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[0].Values[1].Body.GetRawSize(), - .Body = FullPutRequestCopy.Requests[0].Values[1].Body}, + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[1].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[0].Values[1].Body.GetRawSize(), + .Body = FullPutRequestCopy.Requests[0].Values[1].Body}, {.Id = FullPutRequestCopy.Requests[0].Values[2].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[2].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[0].Values[2].Body.GetRawSize(), - .Body = FullPutRequestCopy.Requests[0].Values[2].Body}}}, + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[0].Values[2].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[0].Values[2].Body.GetRawSize(), + .Body = FullPutRequestCopy.Requests[0].Values[2].Body}}}, {}, // Simulate not have! - GetCacheRecordResult{.Key = FullPutRequestCopy.Requests[2].Key, - .RecordBody = FullPutRequestCopy.Requests[2].RecordBody, - .Values = {{.Id = FullPutRequestCopy.Requests[2].Values[0].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[0].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[2].Values[0].Body.GetRawSize(), - .Body = FullPutRequestCopy.Requests[2].Values[0].Body}, + GetCacheRecordResult{.Key = FullPutRequestCopy.Requests[2].Key, + .Values = {{.Id = FullPutRequestCopy.Requests[2].Values[0].Id, + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[0].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[2].Values[0].Body.GetRawSize(), + .Body = FullPutRequestCopy.Requests[2].Values[0].Body}, {.Id = FullPutRequestCopy.Requests[2].Values[1].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[1].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[2].Values[1].Body.GetRawSize(), - .Body = {}}, // Simulate not have + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[1].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[2].Values[1].Body.GetRawSize(), + .Body = {}}, // Simulate not have {.Id = FullPutRequestCopy.Requests[2].Values[2].Id, - .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[2].Body.GetRawHash()), - .RawSize = FullPutRequestCopy.Requests[2].Values[2].Body.GetRawSize(), - .Body = FullPutRequestCopy.Requests[2].Values[2].Body}}}}}; + .RawHash = IoHash::FromBLAKE3(FullPutRequestCopy.Requests[2].Values[2].Body.GetRawHash()), + .RawSize = FullPutRequestCopy.Requests[2].Values[2].Body.GetRawSize(), + .Body = FullPutRequestCopy.Requests[2].Values[2].Body}}}}}; CbPackage FullResponsePackage; CHECK(FullResult.Format(FullResponsePackage)); GetCacheRecordsResult FullResultCopy; |