summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service/cas_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/execution_service/cas_utils.cpp')
-rw-r--r--src/buildtool/execution_api/execution_service/cas_utils.cpp19
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());
}