diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-05-17 22:57:34 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-05-22 14:58:25 +0200 |
commit | 92bfbfa2f5058f1396237a99f65ac2b05e312310 (patch) | |
tree | 32aeb5545ce669ce6c09e31cf6749cc97643a81a /test/utils/remote_execution/bazel_action_creator.hpp | |
parent | f5ce9274a6723b5eaa114bd20b246045c48b2fae (diff) | |
download | justbuild-92bfbfa2f5058f1396237a99f65ac2b05e312310.tar.gz |
Avoid memory usage duplication
Diffstat (limited to 'test/utils/remote_execution/bazel_action_creator.hpp')
-rw-r--r-- | test/utils/remote_execution/bazel_action_creator.hpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/utils/remote_execution/bazel_action_creator.hpp b/test/utils/remote_execution/bazel_action_creator.hpp index 090f6425..a0423d69 100644 --- a/test/utils/remote_execution/bazel_action_creator.hpp +++ b/test/utils/remote_execution/bazel_action_creator.hpp @@ -82,8 +82,16 @@ BazelCasClient cas_client(info->host, info->port); - if (cas_client.BatchUpdateBlobs( - instance_name, blobs.begin(), blobs.end()) == blobs.size()) { + std::vector<gsl::not_null<BazelBlob const*>> blob_ptrs; + blob_ptrs.reserve(blobs.size()); + std::transform(blobs.begin(), + blobs.end(), + std::back_inserter(blob_ptrs), + [](BazelBlob const& b) { return &b; }); + + if (cas_client.BatchUpdateBlobs(instance_name, + blob_ptrs.begin(), + blob_ptrs.end()) == blobs.size()) { return std::make_unique<bazel_re::Digest>(action_id); } return nullptr; |