diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-17 10:20:55 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-18 09:45:19 +0200 |
commit | 60748d2914568e54f852281141f7c128c3ca1f2c (patch) | |
tree | 144ebe2871a46bc8b250892e3fd0ac948647763e /src/buildtool/execution_api/execution_service/bytestream_server.cpp | |
parent | 7d2f632b1dd1fe2ca01ef89716efe355e4d32687 (diff) | |
download | justbuild-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.cpp | 10 |
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, |