summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common/execution_api.hpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-07-27 13:59:11 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-07-27 16:51:17 +0200
commit26090ce503f40502a62d7ebabcb4ee060b28d05b (patch)
treea15036404215cf63c0b5202e15f1000e2b71f64a /src/buildtool/execution_api/common/execution_api.hpp
parent106ad30405914d20c05a32b32157f17da57c570e (diff)
downloadjustbuild-26090ce503f40502a62d7ebabcb4ee060b28d05b.tar.gz
Execution API: support fetching a single artifact to memory
Diffstat (limited to 'src/buildtool/execution_api/common/execution_api.hpp')
-rw-r--r--src/buildtool/execution_api/common/execution_api.hpp7
1 files changed, 7 insertions, 0 deletions
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 <map>
#include <memory>
+#include <optional>
#include <string>
#include <utility>
#include <vector>
@@ -86,6 +87,12 @@ class IExecutionApi {
std::vector<Artifact::ObjectInfo> const& artifacts_info,
gsl::not_null<IExecutionApi*> 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<std::string> = 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.