diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-07-23 18:20:44 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-08-30 17:17:09 +0200 |
commit | 0df9bfcbcda9f87097bd313819be0be2cf5fa892 (patch) | |
tree | bcffd45a05d8994b2e6e5bd9cd5b157eb69802c3 /src/buildtool/execution_api/local/local_api.hpp | |
parent | d84ab0c8f1e0df651c2d1f6cd9f4bdc03c25932c (diff) | |
download | justbuild-0df9bfcbcda9f87097bd313819be0be2cf5fa892.tar.gz |
Replace bazel_re::Digest in CASUtils
...with ArtifactDigest
Diffstat (limited to 'src/buildtool/execution_api/local/local_api.hpp')
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index 35b7b768..f1515418 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -331,9 +331,8 @@ class LocalApi final : public IExecutionApi { [[nodiscard]] auto SplitBlob(ArtifactDigest const& blob_digest) const noexcept -> std::optional<std::vector<ArtifactDigest>> final { Logger::Log(LogLevel::Debug, "SplitBlob({})", blob_digest.hash()); - auto split_result = CASUtils::SplitBlobFastCDC( - static_cast<bazel_re::Digest>(blob_digest), - *local_context_.storage); + auto split_result = + CASUtils::SplitBlobFastCDC(blob_digest, *local_context_.storage); if (not split_result) { Logger::Log(LogLevel::Error, split_result.error().error_message()); return std::nullopt; @@ -345,20 +344,12 @@ class LocalApi final : public IExecutionApi { << blob_digest.size() << " into " << chunk_digests.size() << " chunks: [ "; for (auto const& chunk_digest : chunk_digests) { - ss << chunk_digest.hash() << ":" << chunk_digest.size_bytes() - << " "; + ss << chunk_digest.hash() << ":" << chunk_digest.size() << " "; } ss << "]"; return ss.str(); }); - auto artifact_digests = std::vector<ArtifactDigest>{}; - artifact_digests.reserve(chunk_digests.size()); - std::transform( - chunk_digests.cbegin(), - chunk_digests.cend(), - std::back_inserter(artifact_digests), - [](auto const& digest) { return ArtifactDigest{digest}; }); - return artifact_digests; + return *std::move(split_result); } [[nodiscard]] auto BlobSplitSupport() const noexcept -> bool final { @@ -373,24 +364,14 @@ class LocalApi final : public IExecutionApi { "SpliceBlob({}, {} chunks)", blob_digest.hash(), chunk_digests.size()); - auto digests = std::vector<bazel_re::Digest>{}; - digests.reserve(chunk_digests.size()); - std::transform( - chunk_digests.cbegin(), - chunk_digests.cend(), - std::back_inserter(digests), - [](auto const& artifact_digest) { - return static_cast<bazel_re::Digest>(artifact_digest); - }); - auto splice_result = - CASUtils::SpliceBlob(static_cast<bazel_re::Digest>(blob_digest), - digests, - *local_context_.storage); + + auto splice_result = CASUtils::SpliceBlob( + blob_digest, chunk_digests, *local_context_.storage); if (not splice_result) { Logger::Log(LogLevel::Error, splice_result.error().error_message()); return std::nullopt; } - return ArtifactDigest{*std::move(splice_result)}; + return *std::move(splice_result); } [[nodiscard]] auto BlobSpliceSupport() const noexcept -> bool final { |