diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2025-01-23 17:11:39 +0100 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2025-02-07 14:58:04 +0100 |
commit | 686a13142b816dfa334bb85f3ffdcc62a81a3bb4 (patch) | |
tree | f9296ee10f11b3528f5ef89f6bf544ff3182fdc4 /src/buildtool/execution_api/common/bytestream_utils.hpp | |
parent | b22ee0740857dad1f24999953864150a4f6bbcc8 (diff) | |
download | justbuild-686a13142b816dfa334bb85f3ffdcc62a81a3bb4.tar.gz |
ByteStreamUtils: Use ArtifactDigest
Diffstat (limited to 'src/buildtool/execution_api/common/bytestream_utils.hpp')
-rw-r--r-- | src/buildtool/execution_api/common/bytestream_utils.hpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/buildtool/execution_api/common/bytestream_utils.hpp b/src/buildtool/execution_api/common/bytestream_utils.hpp index 232c6728..16904f4f 100644 --- a/src/buildtool/execution_api/common/bytestream_utils.hpp +++ b/src/buildtool/execution_api/common/bytestream_utils.hpp @@ -16,10 +16,13 @@ #define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_BYTESTREAM_UTILS_HPP #include <cstddef> -#include <cstdint> #include <optional> #include <string> +#include "src/buildtool/common/artifact_digest.hpp" +#include "src/buildtool/crypto/hash_function.hpp" +#include "src/utils/cpp/expected.hpp" + namespace build::bazel::remote::execution::v2 { class Digest; } @@ -43,6 +46,9 @@ class ByteStreamUtils final { explicit ReadRequest(std::string instance_name, bazel_re::Digest const& digest) noexcept; + explicit ReadRequest(std::string instance_name, + ArtifactDigest const& digest) noexcept; + [[nodiscard]] auto ToString() && noexcept -> std::string; [[nodiscard]] static auto FromString( @@ -53,12 +59,13 @@ class ByteStreamUtils final { return instance_name_; } - [[nodiscard]] auto GetDigest() const noexcept -> bazel_re::Digest; + [[nodiscard]] auto GetDigest(HashFunction::Type hash_type) + const noexcept -> expected<ArtifactDigest, std::string>; private: std::string instance_name_; std::string hash_; - std::int64_t size_ = 0; + std::size_t size_ = 0; ReadRequest() = default; }; @@ -74,6 +81,10 @@ class ByteStreamUtils final { std::string uuid, bazel_re::Digest const& digest) noexcept; + explicit WriteRequest(std::string instance_name, + std::string uuid, + ArtifactDigest const& digest) noexcept; + [[nodiscard]] auto ToString() && noexcept -> std::string; [[nodiscard]] static auto FromString( @@ -88,13 +99,14 @@ class ByteStreamUtils final { return uuid_; } - [[nodiscard]] auto GetDigest() const noexcept -> bazel_re::Digest; + [[nodiscard]] auto GetDigest(HashFunction::Type hash_type) + const noexcept -> expected<ArtifactDigest, std::string>; private: std::string instance_name_; std::string uuid_; std::string hash_; - std::int64_t size_ = 0; + std::size_t size_ = 0; WriteRequest() = default; }; |