diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp | 35 | ||||
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp | 6 |
2 files changed, 13 insertions, 28 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 dbcee884..2e30c5d8 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp @@ -185,13 +185,6 @@ BazelCasClient::BazelCasClient( CreateChannelWithCredentials(server, port, auth)); } -auto BazelCasClient::FindMissingBlobs( - std::string const& instance_name, - std::unordered_set<bazel_re::Digest> const& digests) const noexcept - -> std::unordered_set<bazel_re::Digest> { - return FindMissingBlobs(instance_name, digests.begin(), digests.end()); -} - auto BazelCasClient::BatchReadBlobs( std::string const& instance_name, std::vector<bazel_re::Digest>::const_iterator const& begin, @@ -420,22 +413,21 @@ auto BazelCasClient::BlobSpliceSupport( hash_function, instance_name, stub_, &logger_); } -template <class TForwardIter> -auto BazelCasClient::FindMissingBlobs(std::string const& instance_name, - TForwardIter const& start, - TForwardIter const& end) const noexcept +auto BazelCasClient::FindMissingBlobs( + std::string const& instance_name, + std::unordered_set<bazel_re::Digest> const& digests) const noexcept -> std::unordered_set<bazel_re::Digest> { std::unordered_set<bazel_re::Digest> result; - if (start == end) { + if (digests.empty()) { return result; } try { - result.reserve(std::distance(start, end)); + result.reserve(digests.size()); auto requests = CreateBatchRequestsMaxSize<bazel_re::FindMissingBlobsRequest>( instance_name, - start, - end, + digests.begin(), + digests.end(), "FindMissingBlobs", [](bazel_re::FindMissingBlobsRequest* request, bazel_re::Digest const& x) { @@ -463,17 +455,16 @@ auto BazelCasClient::FindMissingBlobs(std::string const& instance_name, &logger_, LogLevel::Error, status, "FindMissingBlobs"); } } - logger_.Emit(LogLevel::Trace, [&start, &end, &result]() { + logger_.Emit(LogLevel::Trace, [&digests, &result]() { std::ostringstream oss{}; oss << "find missing blobs" << std::endl; - std::for_each(start, end, [&oss](auto const& digest) { + for (auto const& digest : digests) { oss << fmt::format(" - {}", digest.hash()) << std::endl; - }); + } oss << "missing blobs" << std::endl; - std::for_each( - result.cbegin(), result.cend(), [&oss](auto const& digest) { - oss << fmt::format(" - {}", digest.hash()) << std::endl; - }); + for (auto const& digest : result) { + oss << fmt::format(" - {}", digest.hash()) << std::endl; + } return oss.str(); }); } catch (...) { diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp index b01e502f..cb1eb0c8 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp @@ -149,12 +149,6 @@ class BazelCasClient { std::unique_ptr<bazel_re::ContentAddressableStorage::Stub> stub_; Logger logger_{"RemoteCasClient"}; - template <class TOutputIter> - [[nodiscard]] auto FindMissingBlobs(std::string const& instance_name, - TOutputIter const& start, - TOutputIter const& end) const noexcept - -> std::unordered_set<bazel_re::Digest>; - template <typename TRequest, typename TForwardIter> [[nodiscard]] auto CreateBatchRequestsMaxSize( std::string const& instance_name, |