From cb2cf3f6b774bbd8f214e603f7e7f5610e70f78a Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 2 Feb 2024 17:54:08 +0200 Subject: fix(tvix/castore/grpc/svc_wrapper): expose chunks() over gRPC The Stat() method was just always signalling no granular chunks are available. However, as we now have a .chunks() method, we can expose it over gRPC. Change-Id: I74f0890ae083f301bb0cec62f1ea4a95463ac590 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10736 Tested-by: BuildkiteCI Autosubmit: flokli Reviewed-by: Connor Brewster --- tvix/castore/src/proto/grpc_blobservice_wrapper.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tvix/castore/src/proto/grpc_blobservice_wrapper.rs') diff --git a/tvix/castore/src/proto/grpc_blobservice_wrapper.rs b/tvix/castore/src/proto/grpc_blobservice_wrapper.rs index 33f9a73ea4..9f3f944da2 100644 --- a/tvix/castore/src/proto/grpc_blobservice_wrapper.rs +++ b/tvix/castore/src/proto/grpc_blobservice_wrapper.rs @@ -97,9 +97,12 @@ where .try_into() .map_err(|_e| Status::invalid_argument("invalid digest length"))?; - match self.blob_service.has(&req_digest).await { - Ok(true) => Ok(Response::new(super::StatBlobResponse::default())), - Ok(false) => Err(Status::not_found(format!("blob {} not found", &req_digest))), + match self.blob_service.chunks(&req_digest).await { + Ok(None) => Err(Status::not_found(format!("blob {} not found", &req_digest))), + Ok(Some(chunk_metas)) => Ok(Response::new(super::StatBlobResponse { + chunks: chunk_metas, + ..Default::default() + })), Err(e) => Err(e.into()), } } -- cgit 1.4.1