From d40eb82b519fb17819c8e8f0827f7338bed02bf7 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Thu, 5 Dec 2024 12:22:22 +0100 Subject: execution api: support retrieving from more than one API, also for fd Extend the api to optionally accept a different API for preferred fetching. This is already supported when fetching to a file path; therefore, extend to keep the interface symmetric. --- src/buildtool/execution_api/remote/bazel/bazel_api.cpp | 4 +++- src/buildtool/execution_api/remote/bazel/bazel_api.hpp | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/buildtool/execution_api/remote') diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index 6032ab44..0b05dd19 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -307,10 +307,12 @@ auto BazelApi::CreateAction( return true; } +// NOLINTNEXTLINE(google-default-arguments) [[nodiscard]] auto BazelApi::RetrieveToFds( std::vector const& artifacts_info, std::vector const& fds, - bool raw_tree) const noexcept -> bool { + bool raw_tree, + IExecutionApi const* /*alternative*/) const noexcept -> bool { auto dumper = StreamDumper{network_->CreateReader()}; return CommonRetrieveToFds( artifacts_info, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp index 3b0a1cb3..e45e0cdf 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp @@ -73,10 +73,13 @@ class BazelApi final : public IExecutionApi { IExecutionApi const* alternative = nullptr) const noexcept -> bool final; + // NOLINTNEXTLINE(google-default-arguments) [[nodiscard]] auto RetrieveToFds( std::vector const& artifacts_info, std::vector const& fds, - bool raw_tree) const noexcept -> bool final; + bool raw_tree, + IExecutionApi const* alternative = nullptr) const noexcept + -> bool final; [[nodiscard]] auto ParallelRetrieveToCas( std::vector const& artifacts_info, -- cgit v1.2.3