diff options
Diffstat (limited to 'src/zenutil/include')
| -rw-r--r-- | src/zenutil/include/zenutil/chunkrequests.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/zenutil/include/zenutil/chunkrequests.h b/src/zenutil/include/zenutil/chunkrequests.h new file mode 100644 index 000000000..2d6c222bb --- /dev/null +++ b/src/zenutil/include/zenutil/chunkrequests.h @@ -0,0 +1,27 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include <zencore/uid.h> + +#include <optional> +#include <span> +#include <vector> + +namespace zen { +class IoBuffer; + +struct RequestChunkEntry +{ + Oid ChunkId; + uint32_t CorrelationId; + uint64_t Offset; + uint64_t RequestBytes; +}; + +std::vector<IoBuffer> ParseChunkBatchResponse(const IoBuffer& Buffer); +IoBuffer BuildChunkBatchRequest(const std::vector<RequestChunkEntry>& Entries); +std::optional<std::vector<RequestChunkEntry>> ParseChunkBatchRequest(const IoBuffer& Payload); +std::vector<IoBuffer> BuildChunkBatchResponse(const std::vector<RequestChunkEntry>& Requests, std::span<IoBuffer> Chunks); + +} // namespace zen |