From bb2375008f69bf62d510ce862f1d4370fa130ef3 Mon Sep 17 00:00:00 2001 From: Sascha Roloff Date: Fri, 8 Jul 2022 10:04:34 +0200 Subject: Introduced batch availability check for remote execution api --- src/buildtool/execution_api/local/local_api.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/buildtool/execution_api/local/local_api.hpp') diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index 20886e5a..72b7e28c 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -150,6 +150,17 @@ class LocalApi final : public IExecutionApi { return storage_->BlobPath(digest, false).has_value(); } + [[nodiscard]] auto IsAvailable(std::vector const& digests) + const noexcept -> std::vector final { + std::vector result; + for (auto const& digest : digests) { + if (not storage_->BlobPath(digest, false).has_value()) { + result.push_back(digest); + } + } + return result; + } + private: std::shared_ptr tree_map_{std::make_shared()}; std::shared_ptr storage_{ -- cgit v1.2.3