diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-05-24 12:08:48 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-05-27 16:36:58 +0200 |
commit | cd9b1aab78186a1b9a01dbd5319cfd9faafe4662 (patch) | |
tree | c7d475f718a17663b58ffc5ee816fd461e811245 /src/buildtool/execution_api/local/local_api.hpp | |
parent | 1c6acd97737f4d49b5e0d1dbb97e3c1d75d0e145 (diff) | |
download | justbuild-cd9b1aab78186a1b9a01dbd5319cfd9faafe4662.tar.gz |
Use common interface for stream dumping
...in LocalApi and BazelApi.
Diffstat (limited to 'src/buildtool/execution_api/local/local_api.hpp')
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index c81b75c1..b9be5aed 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -37,6 +37,7 @@ #include "src/buildtool/execution_api/bazel_msg/blob_tree.hpp" #include "src/buildtool/execution_api/common/common_api.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" +#include "src/buildtool/execution_api/common/stream_dumper.hpp" #include "src/buildtool/execution_api/common/tree_reader.hpp" #include "src/buildtool/execution_api/execution_service/cas_utils.hpp" #include "src/buildtool/execution_api/git/git_api.hpp" @@ -141,13 +142,13 @@ class LocalApi final : public IExecutionApi { std::vector<Artifact::ObjectInfo> const& artifacts_info, std::vector<int> const& fds, bool raw_tree) noexcept -> bool final { + auto dumper = StreamDumper<LocalCasReader>{storage_->CAS()}; return CommonRetrieveToFds( artifacts_info, fds, - [&cas = storage_->CAS(), &raw_tree]( - Artifact::ObjectInfo const& info, - gsl::not_null<FILE*> const& out) { - return cas.DumpToStream(info, out, raw_tree); + [&dumper, &raw_tree](Artifact::ObjectInfo const& info, + gsl::not_null<FILE*> const& out) { + return dumper.DumpToStream(info, out, raw_tree); }, [&repo_config = repo_config_, &raw_tree]( Artifact::ObjectInfo const& info, int fd) { |