aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/include
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-03-14 14:36:18 +0100
committerGitHub <[email protected]>2023-03-14 06:36:18 -0700
commitfea4fa0095668e392aa3333450e93afc1784762b (patch)
treec80ffdf3824ba75ee9b7c312010cdb84c48aae46 /zenhttp/include
parentremoved catch2 (#241) (diff)
downloadzen-fea4fa0095668e392aa3333450e93afc1784762b.tar.xz
zen-fea4fa0095668e392aa3333450e93afc1784762b.zip
send payloads as duplicated handles (#240)
* send payloads as duplicated handles if requestor provides process id and allows local file references. * linux/macos fixes * tests * fix access rights when duplicating handle * fix closing of duplicated handles on error * cleanup * changelog
Diffstat (limited to 'zenhttp/include')
-rw-r--r--zenhttp/include/zenhttp/httpshared.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/zenhttp/include/zenhttp/httpshared.h b/zenhttp/include/zenhttp/httpshared.h
index 7ab9c9339..d335572c5 100644
--- a/zenhttp/include/zenhttp/httpshared.h
+++ b/zenhttp/include/zenhttp/httpshared.h
@@ -87,14 +87,15 @@ gsl_DEFINE_ENUM_BITMASK_OPERATORS(FormatFlags);
enum class RpcAcceptOptions : uint16_t
{
- kNone = 0,
- kAllowLocalReferences = (1u << 0),
+ kNone = 0,
+ kAllowLocalReferences = (1u << 0),
+ kAllowPartialLocalReferences = (1u << 1)
};
gsl_DEFINE_ENUM_BITMASK_OPERATORS(RpcAcceptOptions);
-std::vector<IoBuffer> FormatPackageMessage(const CbPackage& Data, FormatFlags Flags);
-CompositeBuffer FormatPackageMessageBuffer(const CbPackage& Data, FormatFlags Flags);
+std::vector<IoBuffer> FormatPackageMessage(const CbPackage& Data, FormatFlags Flags, int TargetProcessPid = 0);
+CompositeBuffer FormatPackageMessageBuffer(const CbPackage& Data, FormatFlags Flags, int TargetProcessPid = 0);
CbPackage ParsePackageMessage(
IoBuffer Payload,
std::function<IoBuffer(const IoHash& Cid, uint64_t Size)> CreateBuffer = [](const IoHash&, uint64_t Size) -> IoBuffer {
@@ -104,8 +105,8 @@ bool IsPackageMessage(IoBuffer Payload);
bool ParsePackageMessageWithLegacyFallback(const IoBuffer& Response, CbPackage& OutPackage);
-std::vector<IoBuffer> FormatPackageMessage(const CbPackage& Data);
-CompositeBuffer FormatPackageMessageBuffer(const CbPackage& Data);
+std::vector<IoBuffer> FormatPackageMessage(const CbPackage& Data, int TargetProcessPid = 0);
+CompositeBuffer FormatPackageMessageBuffer(const CbPackage& Data, int TargetProcessPid = 0);
/** Streaming reader for compact binary packages