aboutsummaryrefslogtreecommitdiff
path: root/zenutil
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-09-22 00:51:23 +0200
committerDan Engelbrecht <[email protected]>2022-09-22 10:52:15 +0200
commit75d1e777af58922bbba00ebbdc05bdc0fd768b9f (patch)
treeecbdc366194193e19caf8387b54dcdeaa8ce0e57 /zenutil
parentAdd elapsed seconds per individual request from upstream (#167) (diff)
downloadzen-de/auto-batch-upstream.tar.xz
zen-de/auto-batch-upstream.zip
Diffstat (limited to 'zenutil')
-rw-r--r--zenutil/cache/cacherequests.cpp76
-rw-r--r--zenutil/include/zenutil/cache/cacherequests.h30
2 files changed, 54 insertions, 52 deletions
diff --git a/zenutil/cache/cacherequests.cpp b/zenutil/cache/cacherequests.cpp
index 2c14ef35b..e764e80c4 100644
--- a/zenutil/cache/cacherequests.cpp
+++ b/zenutil/cache/cacherequests.cpp
@@ -20,6 +20,8 @@ namespace zen {
namespace cacherequests {
+ using namespace std::literals;
+
namespace {
constinit AsciiSet ValidNamespaceNameCharactersSet{"abcdefghijklmnopqrstuvwxyz0123456789-_.ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
constinit AsciiSet ValidBucketNameCharactersSet{"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
@@ -970,43 +972,43 @@ namespace cacherequests {
}
}
- // bool CacheRecord::Parse(CbObjectView& Reader)
- // {
- // CbObjectView KeyView = Reader["Key"].AsObjectView();
- //
- // if (!GetRequestCacheKey(KeyView, Key))
- // {
- // return false;
- // }
- // CbArrayView ValuesArray = Reader["Values"].AsArrayView();
- // Values.reserve(ValuesArray.Num());
- // for (CbFieldView Value : ValuesArray)
- // {
- // CbObjectView ObjectView = Value.AsObjectView();
- // Values.push_back({.Id = ObjectView["Id"].AsObjectId(),
- // .RawHash = ObjectView["RawHash"].AsHash(),
- // .RawSize = ObjectView["RawSize"].AsUInt64()});
- // }
- // return true;
- // }
- //
- // bool CacheRecord::Format(CbObjectWriter& Writer) const
- // {
- // WriteCacheRequestKey(Writer, Key);
- // Writer.BeginArray("Values");
- // for (const CacheRecordValue& Value : Values)
- // {
- // Writer.BeginObject();
- // {
- // Writer.AddObjectId("Id", Value.Id);
- // Writer.AddHash("RawHash", Value.RawHash);
- // Writer.AddInteger("RawSize", Value.RawSize);
- // }
- // Writer.EndObject();
- // }
- // Writer.EndArray();
- // return true;
- // }
+ bool CacheRecord::Parse(const CbObjectView& Reader)
+ {
+ CbObjectView KeyView = Reader["Key"sv].AsObjectView();
+
+ if (!GetRequestCacheKey(KeyView, Key))
+ {
+ return false;
+ }
+ CbArrayView ValuesArray = Reader["Values"sv].AsArrayView();
+ Values.reserve(ValuesArray.Num());
+ for (CbFieldView Value : ValuesArray)
+ {
+ CbObjectView ObjectView = Value.AsObjectView();
+ Values.push_back({.Id = ObjectView["Id"sv].AsObjectId(),
+ .RawHash = ObjectView["RawHash"sv].AsBinaryAttachment(),
+ .RawSize = ObjectView["RawSize"sv].AsUInt64()});
+ }
+ return true;
+ }
+
+ bool CacheRecord::Format(CbObjectWriter& Writer) const
+ {
+ WriteCacheRequestKey(Writer, Key);
+ Writer.BeginArray("Values"sv);
+ for (const CacheRecordValue& Value : Values)
+ {
+ Writer.BeginObject();
+ {
+ Writer.AddObjectId("Id"sv, Value.Id);
+ Writer.AddBinaryAttachment("RawHash"sv, Value.RawHash);
+ Writer.AddInteger("RawSize"sv, Value.RawSize);
+ }
+ Writer.EndObject();
+ }
+ Writer.EndArray();
+ return true;
+ }
#if ZEN_WITH_TESTS
diff --git a/zenutil/include/zenutil/cache/cacherequests.h b/zenutil/include/zenutil/cache/cacherequests.h
index ffb0f8d5f..4566eba38 100644
--- a/zenutil/include/zenutil/cache/cacherequests.h
+++ b/zenutil/include/zenutil/cache/cacherequests.h
@@ -245,21 +245,21 @@ namespace cacherequests {
//////////////////////////////////////////////////////////////////////////
- // struct CacheRecordValue
- // {
- // Oid Id = Oid::Zero;
- // IoHash RawHash = IoHash::Zero;
- // uint64_t RawSize = 0;
- // };
- //
- // struct CacheRecord
- // {
- // CacheKey Key = CacheKey::Empty;
- // std::vector<CacheRecordValue> Values;
- //
- // bool Parse(CbObjectView& Reader);
- // bool Format(CbObjectWriter& Writer) const;
- // };
+ struct CacheRecordValue
+ {
+ Oid Id = Oid::Zero;
+ IoHash RawHash = IoHash::Zero;
+ uint64_t RawSize = 0;
+ };
+
+ struct CacheRecord
+ {
+ CacheKey Key = CacheKey::Empty;
+ std::vector<CacheRecordValue> Values;
+
+ bool Parse(const CbObjectView& Reader);
+ bool Format(CbObjectWriter& Writer) const;
+ };
} // namespace cacherequests