summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp7
-rw-r--r--src/buildtool/execution_api/remote/bazel/bytestream_client.hpp23
-rw-r--r--test/buildtool/execution_api/bazel/TARGETS1
-rw-r--r--test/buildtool/execution_api/bazel/bytestream_client.test.cpp11
4 files changed, 20 insertions, 22 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
index 817a0f05..91da34ec 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
@@ -32,7 +32,6 @@
#include "src/buildtool/common/remote/client_common.hpp"
#include "src/buildtool/common/remote/retry.hpp"
#include "src/buildtool/common/remote/retry_config.hpp"
-#include "src/buildtool/execution_api/common/bytestream_utils.hpp"
#include "src/buildtool/execution_api/common/message_limits.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
@@ -395,15 +394,13 @@ auto BazelCasClient::UpdateSingleBlob(std::string const& instance_name,
auto BazelCasClient::IncrementalReadSingleBlob(std::string const& instance_name,
ArtifactDigest const& digest)
const noexcept -> ByteStreamClient::IncrementalReader {
- return stream_->IncrementalRead(
- ByteStreamUtils::ReadRequest{instance_name, digest});
+ return stream_->IncrementalRead(instance_name, digest);
}
auto BazelCasClient::ReadSingleBlob(std::string const& instance_name,
ArtifactDigest const& digest) const noexcept
-> std::optional<ArtifactBlob> {
- if (auto data = stream_->Read(
- ByteStreamUtils::ReadRequest{instance_name, digest})) {
+ if (auto data = stream_->Read(instance_name, digest)) {
return ArtifactBlob{digest, std::move(*data), /*is_exec=*/false};
}
return std::nullopt;
diff --git a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
index 452c0abe..e4f8f465 100644
--- a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
@@ -29,6 +29,7 @@
#include "google/bytestream/bytestream.pb.h"
#include "gsl/gsl"
#include "src/buildtool/auth/authentication.hpp"
+#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/remote/client_common.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/common/artifact_blob.hpp"
@@ -77,11 +78,15 @@ class ByteStreamClient {
IncrementalReader(
gsl::not_null<google::bytestream::ByteStream::Stub*> const& stub,
- ByteStreamUtils::ReadRequest&& read_request,
+ std::string const& instance_name,
+ ArtifactDigest const& digest,
Logger const* logger)
: logger_{logger} {
google::bytestream::ReadRequest request{};
- request.set_resource_name(std::move(read_request).ToString());
+
+ auto resource_name =
+ ByteStreamUtils::ReadRequest{instance_name, digest}.ToString();
+ request.set_resource_name(std::move(resource_name));
reader_ = stub->Read(&ctx_, request);
}
};
@@ -93,14 +98,16 @@ class ByteStreamClient {
CreateChannelWithCredentials(server, port, auth));
}
- [[nodiscard]] auto IncrementalRead(ByteStreamUtils::ReadRequest&& request)
- const noexcept -> IncrementalReader {
- return IncrementalReader{stub_.get(), std::move(request), &logger_};
+ [[nodiscard]] auto IncrementalRead(
+ std::string const& instance_name,
+ ArtifactDigest const& digest) const noexcept -> IncrementalReader {
+ return IncrementalReader{stub_.get(), instance_name, digest, &logger_};
}
- [[nodiscard]] auto Read(ByteStreamUtils::ReadRequest&& request)
- const noexcept -> std::optional<std::string> {
- auto reader = IncrementalRead(std::move(request));
+ [[nodiscard]] auto Read(std::string const& instance_name,
+ ArtifactDigest const& digest) const noexcept
+ -> std::optional<std::string> {
+ auto reader = IncrementalRead(instance_name, digest);
std::string output{};
auto data = reader.Next();
while (data and not data->empty()) {
diff --git a/test/buildtool/execution_api/bazel/TARGETS b/test/buildtool/execution_api/bazel/TARGETS
index edbaf311..19797ea1 100644
--- a/test/buildtool/execution_api/bazel/TARGETS
+++ b/test/buildtool/execution_api/bazel/TARGETS
@@ -58,7 +58,6 @@
, ["@", "src", "src/buildtool/common/remote", "remote_common"]
, ["@", "src", "src/buildtool/crypto", "hash_function"]
, ["@", "src", "src/buildtool/execution_api/common", "artifact_blob"]
- , ["@", "src", "src/buildtool/execution_api/common", "bytestream_utils"]
, ["@", "src", "src/buildtool/execution_api/common", "common"]
, ["@", "src", "src/buildtool/execution_api/common", "ids"]
, ["@", "src", "src/buildtool/execution_api/remote", "bazel_network"]
diff --git a/test/buildtool/execution_api/bazel/bytestream_client.test.cpp b/test/buildtool/execution_api/bazel/bytestream_client.test.cpp
index 96a95701..f607bc3a 100644
--- a/test/buildtool/execution_api/bazel/bytestream_client.test.cpp
+++ b/test/buildtool/execution_api/bazel/bytestream_client.test.cpp
@@ -27,7 +27,6 @@
#include "src/buildtool/common/remote/remote_common.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/common/artifact_blob.hpp"
-#include "src/buildtool/execution_api/common/bytestream_utils.hpp"
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "test/utils/hermeticity/test_hash_function_type.hpp"
@@ -59,8 +58,7 @@ TEST_CASE("ByteStream Client: Transfer single blob", "[execution_api]") {
ArtifactBlob const blob{digest, content, /*is_exec=*/false};
CHECK(stream.Write(instance_name, blob));
- auto const data =
- stream.Read(ByteStreamUtils::ReadRequest{instance_name, digest});
+ auto const data = stream.Read(instance_name, digest);
CHECK(data == content);
}
@@ -96,15 +94,12 @@ TEST_CASE("ByteStream Client: Transfer single blob", "[execution_api]") {
CHECK(stream.Write(instance_name, blob));
SECTION("Download large blob") {
- auto const data = stream.Read(
- ByteStreamUtils::ReadRequest{instance_name, digest});
-
+ auto const data = stream.Read(instance_name, digest);
CHECK(data == content);
}
SECTION("Incrementally download large blob") {
- auto reader = stream.IncrementalRead(
- ByteStreamUtils::ReadRequest{instance_name, digest});
+ auto reader = stream.IncrementalRead(instance_name, digest);
std::string data{};
auto chunk = reader.Next();