summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2025-02-21 16:18:47 +0100
committerMaksim Denisov <denisov.maksim@huawei.com>2025-02-27 09:03:30 +0100
commita8a167cb206f6c66e52ab4e92e0939e91b8dfed8 (patch)
tree7861406725739f45a98c1312ed45264bb10b9b35 /src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
parente1880bead60d433de2960104bd62cd9e27bfca17 (diff)
downloadjustbuild-a8a167cb206f6c66e52ab4e92e0939e91b8dfed8.tar.gz
ArtifactBlob: Convert to a class
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel/bytestream_client.hpp')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bytestream_client.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
index 432e31ab..99ad4e81 100644
--- a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
@@ -137,14 +137,15 @@ class ByteStreamClient {
auto writer = stub_->Write(&ctx, &response);
auto const resource_name = ByteStreamUtils::WriteRequest::ToString(
- instance_name, uuid, blob.digest);
+ instance_name, uuid, blob.GetDigest());
google::bytestream::WriteRequest request{};
request.set_resource_name(resource_name);
request.mutable_data()->reserve(ByteStreamUtils::kChunkSize);
+ auto const data_to_read = blob.ReadContent();
auto const to_read = ::IncrementalReader::FromMemory(
- ByteStreamUtils::kChunkSize, &*blob.data);
+ ByteStreamUtils::kChunkSize, data_to_read.get());
if (not to_read.has_value()) {
logger_.Emit(
LogLevel::Error,
@@ -169,7 +170,7 @@ class ByteStreamClient {
request.set_write_offset(static_cast<int>(pos));
request.set_finish_write(pos + chunk->size() >=
- blob.data->size());
+ blob.GetContentSize());
if (writer->Write(request)) {
pos += chunk->size();
++it;
@@ -206,12 +207,12 @@ class ByteStreamClient {
return false;
}
if (gsl::narrow<std::size_t>(response.committed_size()) !=
- blob.data->size()) {
+ blob.GetContentSize()) {
logger_.Emit(
LogLevel::Warning,
"Commited size {} is different from the original one {}.",
response.committed_size(),
- blob.data->size());
+ blob.GetContentSize());
return false;
}
return true;