diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2025-01-29 09:46:58 +0100 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2025-02-07 14:58:04 +0100 |
commit | 95792fb717bd84d500037b62c77a4949274e670d (patch) | |
tree | 9bb1765a57e4d6d42941a33aff7e9721dec8068e /src/buildtool/execution_api/remote | |
parent | ea2291d24d531a1ea221f1035636303ac0da787d (diff) | |
download | justbuild-95792fb717bd84d500037b62c77a4949274e670d.tar.gz |
Replace ArtifactBlobContainer and BazelBlobContainer
...with explicit std::unordered_set.
Diffstat (limited to 'src/buildtool/execution_api/remote')
3 files changed, 8 insertions, 7 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index 9c3de203..0bfacf3f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -63,7 +63,7 @@ namespace { auto size = digests.size(); auto reader = network->CreateReader(); std::size_t count{}; - ArtifactBlobContainer container{}; + std::unordered_set<ArtifactBlob> container{}; for (auto blobs : reader.ReadIncrementally(digests)) { if (count + blobs.size() > size) { Logger::Log(LogLevel::Warning, @@ -80,7 +80,7 @@ namespace { &container, std::move(blob), /*exception_is_fatal=*/true, - [&api](ArtifactBlobContainer&& blobs) { + [&api](std::unordered_set<ArtifactBlob>&& blobs) { return api.Upload(std::move(blobs), /*skip_find_missing=*/true); })) { @@ -139,7 +139,7 @@ namespace { } [[nodiscard]] auto ConvertToBazelBlobContainer( - ArtifactBlobContainer&& container) noexcept + std::unordered_set<ArtifactBlob>&& container) noexcept -> std::optional<std::unordered_set<BazelBlob>> { std::unordered_set<BazelBlob> blobs; try { @@ -526,7 +526,7 @@ auto BazelApi::CreateAction( return std::nullopt; } -[[nodiscard]] auto BazelApi::Upload(ArtifactBlobContainer&& blobs, +[[nodiscard]] auto BazelApi::Upload(std::unordered_set<ArtifactBlob>&& blobs, bool skip_find_missing) const noexcept -> bool { auto bazel_blobs = ConvertToBazelBlobContainer(std::move(blobs)); diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp index 22680aac..ae7c2e57 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp @@ -91,7 +91,7 @@ class BazelApi final : public IExecutionApi { std::vector<Artifact::ObjectInfo> const& artifacts_info, IExecutionApi const& api) const noexcept -> bool final; - [[nodiscard]] auto Upload(ArtifactBlobContainer&& blobs, + [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& blobs, bool skip_find_missing) const noexcept -> bool final; diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp index 3aaecb88..2ea2ce1b 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp @@ -20,6 +20,7 @@ #include <filesystem> #include <functional> #include <iterator> +#include <unordered_set> #include <vector> #include "fmt/core.h" @@ -275,11 +276,11 @@ auto BazelResponse::Populate() noexcept -> std::optional<std::string> { auto BazelResponse::UploadTreeMessageDirectories( bazel_re::Tree const& tree) const -> expected<ArtifactDigest, std::string> { auto const upload_callback = - [&network = *network_](BazelBlobContainer&& blobs) -> bool { + [&network = *network_](std::unordered_set<BazelBlob>&& blobs) -> bool { return network.UploadBlobs(std::move(blobs)); }; auto const hash_function = network_->GetHashFunction(); - BazelBlobContainer dir_blobs{}; + std::unordered_set<BazelBlob> dir_blobs{}; auto rootdir_blob = ProcessDirectoryMessage(hash_function, tree.root()); if (not rootdir_blob) { |