From 26090ce503f40502a62d7ebabcb4ee060b28d05b Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Thu, 27 Jul 2023 13:59:11 +0200 Subject: Execution API: support fetching a single artifact to memory --- src/buildtool/execution_api/common/execution_api.hpp | 7 +++++++ 1 file changed, 7 insertions(+) (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 7a301f71..a8ba8009 100644 --- a/src/buildtool/execution_api/common/execution_api.hpp +++ b/src/buildtool/execution_api/common/execution_api.hpp @@ -17,6 +17,7 @@ #include #include +#include #include #include #include @@ -86,6 +87,12 @@ class IExecutionApi { std::vector const& artifacts_info, gsl::not_null const& api) noexcept -> bool = 0; + /// \brief Retrieve one artifact from CAS and make it available for + /// furter in-memory processing + [[nodiscard]] virtual auto RetrieveToMemory( + Artifact::ObjectInfo const& artifact_info) + -> std::optional = 0; + /// \brief Upload blobs to CAS. Uploads only the blobs that are not yet /// available in CAS, unless `skip_find_missing` is specified. /// \param blobs Container of blobs to upload. -- cgit v1.2.3