summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service/bytestream_server.cpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-09-17 10:20:55 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-09-18 09:45:19 +0200
commit60748d2914568e54f852281141f7c128c3ca1f2c (patch)
tree144ebe2871a46bc8b250892e3fd0ac948647763e /src/buildtool/execution_api/execution_service/bytestream_server.cpp
parent7d2f632b1dd1fe2ca01ef89716efe355e4d32687 (diff)
downloadjustbuild-60748d2914568e54f852281141f7c128c3ca1f2c.tar.gz
Implement ByteStreamUtils::ReadRequest class
...and remove split serialization/deserialization implementations.
Diffstat (limited to 'src/buildtool/execution_api/execution_service/bytestream_server.cpp')
-rw-r--r--src/buildtool/execution_api/execution_service/bytestream_server.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/buildtool/execution_api/execution_service/bytestream_server.cpp b/src/buildtool/execution_api/execution_service/bytestream_server.cpp
index 985f41a9..789fdf95 100644
--- a/src/buildtool/execution_api/execution_service/bytestream_server.cpp
+++ b/src/buildtool/execution_api/execution_service/bytestream_server.cpp
@@ -63,18 +63,16 @@ auto BytestreamServiceImpl::Read(
::grpc::ServerWriter<::google::bytestream::ReadResponse>* writer)
-> ::grpc::Status {
logger_.Emit(LogLevel::Trace, "Read {}", request->resource_name());
- // resource_name is of type
- // remote-execution/blobs/62f408d64bca5de775c4b1dbc3288fc03afd6b19eb/0
- auto const digest = ParseResourceName(request->resource_name());
- if (not digest) {
+ auto const read_request =
+ ByteStreamUtils::ReadRequest::FromString(request->resource_name());
+ if (not read_request) {
auto const str =
fmt::format("could not parse {}", request->resource_name());
logger_.Emit(LogLevel::Error, "{}", str);
return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str};
}
-
auto const read_digest = ArtifactDigestFactory::FromBazel(
- storage_config_.hash_function.GetType(), *digest);
+ storage_config_.hash_function.GetType(), read_request->GetDigest());
if (not read_digest) {
logger_.Emit(LogLevel::Debug, "{}", read_digest.error());
return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT,