aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/include
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-12-15 14:09:12 +0100
committerGitHub <[email protected]>2023-12-15 14:09:12 +0100
commit9266e40239f241b7e38fa93719004b323ddedf10 (patch)
tree01ac8a3b38aa5913edab7ba10f299a48a01d8fe0 /src/zenutil/include
parentwindows executable signing (#566) (diff)
downloadzen-9266e40239f241b7e38fa93719004b323ddedf10.tar.xz
zen-9266e40239f241b7e38fa93719004b323ddedf10.zip
fixed v2 rpc recording issue with >4GB data per segment (#612)
* fixed v2 rpc recording issue with >4GB data per segment * implemented recovery logic to deal with partial RPC recordings * added check for invalid/null requests in RPC replay * also made sure at least one worker thread is configured * fix problem where "null" requests would cause infinite loop! * added basic RPC recorder tests
Diffstat (limited to 'src/zenutil/include')
-rw-r--r--src/zenutil/include/zenutil/cache/rpcrecording.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/zenutil/include/zenutil/cache/rpcrecording.h b/src/zenutil/include/zenutil/cache/rpcrecording.h
index fd5df26ad..ab9b92dd3 100644
--- a/src/zenutil/include/zenutil/cache/rpcrecording.h
+++ b/src/zenutil/include/zenutil/cache/rpcrecording.h
@@ -4,6 +4,9 @@
#include <zencore/compositebuffer.h>
#include <zencore/iobuffer.h>
+#include <zencore/uid.h>
+
+#include <compare>
namespace zen::cache {
@@ -13,6 +16,7 @@ struct RecordedRequestInfo
ZenContentType AcceptType;
Oid SessionId;
+ inline std::strong_ordering operator<=>(const RecordedRequestInfo& Rhs) const = default;
static const RecordedRequestInfo NullRequest;
};
@@ -37,4 +41,6 @@ public:
std::unique_ptr<cache::IRpcRequestRecorder> MakeDiskRequestRecorder(const std::filesystem::path& BasePath);
std::unique_ptr<cache::IRpcRequestReplayer> MakeDiskRequestReplayer(const std::filesystem::path& BasePath, bool InMemory);
+void rpcrecord_forcelink();
+
} // namespace zen::cache