From cf5fe9c264d0c7199b9ca13362913916ba689c6f Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Wed, 22 Mar 2023 14:58:49 +0100 Subject: execution api: support retrieving from more than one API --- src/buildtool/execution_api/common/execution_api.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/buildtool/execution_api/common/execution_api.hpp') diff --git a/src/buildtool/execution_api/common/execution_api.hpp b/src/buildtool/execution_api/common/execution_api.hpp index de1f89c0..ffa31483 100644 --- a/src/buildtool/execution_api/common/execution_api.hpp +++ b/src/buildtool/execution_api/common/execution_api.hpp @@ -60,10 +60,14 @@ class IExecutionApi { /// \brief Retrieve artifacts from CAS and store to specified paths. /// Tree artifacts are resolved its containing file artifacts are /// recursively retrieved. + /// If the alternative is provided, it can be assumed that this + /// alternative CAS is more close, but it might not contain all the + /// needed artifacts. + /// NOLINTNEXTLINE(google-default-arguments) [[nodiscard]] virtual auto RetrieveToPaths( std::vector const& artifacts_info, - std::vector const& output_paths) noexcept - -> bool = 0; + std::vector const& output_paths, + IExecutionApi* alternative = nullptr) noexcept -> bool = 0; /// \brief Retrieve artifacts from CAS and write to file descriptors. /// Tree artifacts are not resolved and instead the tree object will be -- cgit v1.2.3