diff options
| author | Dan Engelbrecht <[email protected]> | 2023-03-14 14:36:18 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-14 06:36:18 -0700 |
| commit | fea4fa0095668e392aa3333450e93afc1784762b (patch) | |
| tree | c80ffdf3824ba75ee9b7c312010cdb84c48aae46 /zenhttp/include | |
| parent | removed catch2 (#241) (diff) | |
| download | zen-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.h | 13 |
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 |