From 185d67664ff4e6cd87a4190ce233bd0cf1a40f98 Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Thu, 20 Feb 2025 12:44:37 +0100 Subject: ByteStreamUtils: Simplify ReadRequest and WriteRequest --- .../execution_api/common/bytestream_utils.cpp | 34 ++++++++-------------- .../execution_api/common/bytestream_utils.hpp | 20 ++++++------- 2 files changed, 21 insertions(+), 33 deletions(-) (limited to 'src/buildtool/execution_api/common') diff --git a/src/buildtool/execution_api/common/bytestream_utils.cpp b/src/buildtool/execution_api/common/bytestream_utils.cpp index 13759eba..93acede8 100644 --- a/src/buildtool/execution_api/common/bytestream_utils.cpp +++ b/src/buildtool/execution_api/common/bytestream_utils.cpp @@ -60,18 +60,14 @@ namespace { } } // namespace -ByteStreamUtils::ReadRequest::ReadRequest(std::string instance_name, - ArtifactDigest const& digest) noexcept - : instance_name_{std::move(instance_name)}, - hash_{ArtifactDigestFactory::ToBazel(digest).hash()}, - size_{digest.size()} {} - -auto ByteStreamUtils::ReadRequest::ToString() && noexcept -> std::string { +auto ByteStreamUtils::ReadRequest::ToString( + std::string instance_name, + ArtifactDigest const& digest) noexcept -> std::string { return fmt::format("{}/{}/{}/{}", - std::move(instance_name_), + std::move(instance_name), ByteStreamUtils::kBlobs, - std::move(hash_), - size_); + ArtifactDigestFactory::ToBazel(digest).hash(), + digest.size()); } auto ByteStreamUtils::ReadRequest::FromString( @@ -105,23 +101,17 @@ auto ByteStreamUtils::ReadRequest::GetDigest(HashFunction::Type hash_type) return ArtifactDigestFactory::FromBazel(hash_type, bazel_digest); } -ByteStreamUtils::WriteRequest::WriteRequest( +auto ByteStreamUtils::WriteRequest::ToString( std::string instance_name, std::string uuid, - ArtifactDigest const& digest) noexcept - : instance_name_{std::move(instance_name)}, - uuid_{std::move(uuid)}, - hash_{ArtifactDigestFactory::ToBazel(digest).hash()}, - size_{digest.size()} {} - -auto ByteStreamUtils::WriteRequest::ToString() && noexcept -> std::string { + ArtifactDigest const& digest) noexcept -> std::string { return fmt::format("{}/{}/{}/{}/{}/{}", - std::move(instance_name_), + std::move(instance_name), ByteStreamUtils::kUploads, - std::move(uuid_), + std::move(uuid), ByteStreamUtils::kBlobs, - std::move(hash_), - size_); + ArtifactDigestFactory::ToBazel(digest).hash(), + digest.size()); } auto ByteStreamUtils::WriteRequest::FromString( diff --git a/src/buildtool/execution_api/common/bytestream_utils.hpp b/src/buildtool/execution_api/common/bytestream_utils.hpp index a9d5ff59..52d96a25 100644 --- a/src/buildtool/execution_api/common/bytestream_utils.hpp +++ b/src/buildtool/execution_api/common/bytestream_utils.hpp @@ -38,10 +38,9 @@ class ByteStreamUtils final { /// "instance_name_example/blobs/62183d7a696acf7e69e218efc82c93135f8c85f895/4424712" class ReadRequest final { public: - explicit ReadRequest(std::string instance_name, - ArtifactDigest const& digest) noexcept; - - [[nodiscard]] auto ToString() && noexcept -> std::string; + [[nodiscard]] static auto ToString( + std::string instance_name, + ArtifactDigest const& digest) noexcept -> std::string; [[nodiscard]] static auto FromString( std::string const& request) noexcept -> std::optional; @@ -59,7 +58,7 @@ class ByteStreamUtils final { std::string hash_; std::size_t size_ = 0; - ReadRequest() = default; + explicit ReadRequest() = default; }; /// \brief Create a write request for the bytestream service to be @@ -69,11 +68,10 @@ class ByteStreamUtils final { /// "instance_name_example/uploads/c4f03510-7d56-4490-8934-01bce1b1288e/blobs/62183d7a696acf7e69e218efc82c93135f8c85f895/4424712" class WriteRequest final { public: - explicit WriteRequest(std::string instance_name, - std::string uuid, - ArtifactDigest const& digest) noexcept; - - [[nodiscard]] auto ToString() && noexcept -> std::string; + [[nodiscard]] static auto ToString( + std::string instance_name, + std::string uuid, + ArtifactDigest const& digest) noexcept -> std::string; [[nodiscard]] static auto FromString( std::string const& request) noexcept -> std::optional; @@ -96,7 +94,7 @@ class ByteStreamUtils final { std::string hash_; std::size_t size_ = 0; - WriteRequest() = default; + explicit WriteRequest() = default; }; }; -- cgit v1.2.3