diff options
Diffstat (limited to 'src/buildtool/execution_api/execution_service/cas_utils.cpp')
-rw-r--r-- | src/buildtool/execution_api/execution_service/cas_utils.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/buildtool/execution_api/execution_service/cas_utils.cpp b/src/buildtool/execution_api/execution_service/cas_utils.cpp index 8ab7b131..7dee7dc7 100644 --- a/src/buildtool/execution_api/execution_service/cas_utils.cpp +++ b/src/buildtool/execution_api/execution_service/cas_utils.cpp @@ -93,14 +93,11 @@ auto CASUtils::SplitBlobFastCDC(bazel_re::Digest const& blob_digest, : storage.CAS().SplitBlob(blob_digest); // Process result: - if (auto* result = std::get_if<std::vector<bazel_re::Digest>>(&split)) { - return std::move(*result); + if (split) { + return *std::move(split); } // Process errors - if (auto* error = std::get_if<LargeObjectError>(&split)) { - return ToGrpc(std::move(*error)); - } - return grpc::Status{grpc::StatusCode::INTERNAL, "an unknown error"}; + return ToGrpc(std::move(split).error()); } auto CASUtils::SpliceBlob(bazel_re::Digest const& blob_digest, @@ -114,12 +111,8 @@ auto CASUtils::SpliceBlob(bazel_re::Digest const& blob_digest, : storage.CAS().SpliceBlob(blob_digest, chunk_digests, false); // Process result: - if (auto* result = std::get_if<bazel_re::Digest>(&splice)) { - return std::move(*result); + if (splice) { + return *std::move(splice); } - // Process errors - if (auto* error = std::get_if<LargeObjectError>(&splice)) { - return ToGrpc(std::move(*error)); - } - return grpc::Status{grpc::StatusCode::INTERNAL, "an unknown error"}; + return ToGrpc(std::move(splice).error()); } |