summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel/bazel_response.cpp')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_response.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
index df1d4736..1b7682bd 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
@@ -38,14 +38,14 @@ auto ProcessDirectoryMessage(bazel_re::Directory const& dir) noexcept
auto BazelResponse::ReadStringBlob(bazel_re::Digest const& id) noexcept
-> std::string {
- auto blobs = network_->ReadBlobs({id}).Next();
- if (blobs.empty()) {
- Logger::Log(LogLevel::Warning,
- "reading digest {} from action response failed",
- id.hash());
- return std::string{};
+ auto reader = network_->CreateReader();
+ if (auto blob = reader.ReadSingleBlob(ArtifactDigest{id})) {
+ return *blob->data;
}
- return *blobs[0].data;
+ Logger::Log(LogLevel::Warning,
+ "reading digest {} from action response failed",
+ id.hash());
+ return std::string{};
}
auto BazelResponse::Artifacts() noexcept -> ArtifactInfos {
@@ -175,10 +175,9 @@ auto BazelResponse::Populate() noexcept -> bool {
[](auto dir) { return dir.tree_digest(); });
// collect root digests from trees and store them
- auto blob_reader = network_->ReadBlobs(tree_digests);
- auto tree_blobs = blob_reader.Next();
- int pos{};
- while (not tree_blobs.empty()) {
+ auto reader = network_->CreateReader();
+ int pos = 0;
+ for (auto tree_blobs : reader.ReadIncrementally(tree_digests)) {
for (auto const& tree_blob : tree_blobs) {
try {
auto tree = BazelMsgFactory::MessageFromString<bazel_re::Tree>(
@@ -204,7 +203,6 @@ auto BazelResponse::Populate() noexcept -> bool {
}
++pos;
}
- tree_blobs = blob_reader.Next();
}
artifacts_ = std::move(artifacts);
dir_symlinks_ = std::move(dir_symlinks);