aboutsummaryrefslogtreecommitdiff
path: root/zenutil/cache
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-07-01 03:29:29 -0700
committerGitHub <[email protected]>2022-07-01 03:29:29 -0700
commite2f2ff0ed85909e75b27c2befc337a6f69484ee4 (patch)
treeaf9c432ba3570e343950b3c33e17ad02b8bf3f86 /zenutil/cache
parentUse cacherequest::* for zenserver tests (#135) (diff)
downloadzen-e2f2ff0ed85909e75b27c2befc337a6f69484ee4.tar.xz
zen-e2f2ff0ed85909e75b27c2befc337a6f69484ee4.zip
Remove PutCacheRecordRequest::RecordBody and GetCacheRecordResult:RecordBody (#140)
Diffstat (limited to 'zenutil/cache')
-rw-r--r--zenutil/cache/cacherequests.cpp98
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;