diff options
author | Florian Klink <flokli@flokli.de> | 2023-09-05T12·22+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-09-05T21·13+0000 |
commit | 7923cc19f698bdd128f93087d203cd6182b21ef2 (patch) | |
tree | 572174cd040a106e9fb5f25feb6ef4eae6b36b07 /tvix/store/src/blobservice/grpc.rs | |
parent | f499d2e031c100b6e1af53c8d77c045667ec1909 (diff) |
refactor(tvix/store): use tokio::task::JoinHandle r/6558
This makes the inside code a bit less verbose. I wasn't able to describe the type of the async move closure itself, which would allow us to remove the JoinHandle<_> type annotation entirely. Change-Id: I06193982a0c7010bd72d3ffa4f760bea1b097632 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9268 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/blobservice/grpc.rs')
-rw-r--r-- | tvix/store/src/blobservice/grpc.rs | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/tvix/store/src/blobservice/grpc.rs b/tvix/store/src/blobservice/grpc.rs index 71cde35cb21b..c6d28860f8aa 100644 --- a/tvix/store/src/blobservice/grpc.rs +++ b/tvix/store/src/blobservice/grpc.rs @@ -94,16 +94,15 @@ impl BlobService for GRPCBlobService { let mut grpc_client = self.grpc_client.clone(); let digest = digest.clone(); - let task: tokio::task::JoinHandle<Result<_, Status>> = - self.tokio_handle.spawn(async move { - Ok(grpc_client - .stat(proto::StatBlobRequest { - digest: digest.into(), - ..Default::default() - }) - .await? - .into_inner()) - }); + let task: JoinHandle<Result<_, Status>> = self.tokio_handle.spawn(async move { + Ok(grpc_client + .stat(proto::StatBlobRequest { + digest: digest.into(), + ..Default::default() + }) + .await? + .into_inner()) + }); match self.tokio_handle.block_on(task)? { Ok(_blob_meta) => Ok(true), @@ -122,7 +121,7 @@ impl BlobService for GRPCBlobService { // Construct the task that'll send out the request and return the stream // the gRPC client should use to send [proto::BlobChunk], or an error if // the blob doesn't exist. - let task: tokio::task::JoinHandle<Result<Streaming<proto::BlobChunk>, Status>> = + let task: JoinHandle<Result<Streaming<proto::BlobChunk>, Status>> = self.tokio_handle.spawn(async move { let stream = grpc_client .read(proto::ReadBlobRequest { @@ -172,7 +171,7 @@ impl BlobService for GRPCBlobService { let blobchunk_stream = ReceiverStream::new(rx).map(|x| proto::BlobChunk { data: x }); // That receiver stream is used as a stream in the gRPC BlobService.put rpc call. - let task: tokio::task::JoinHandle<Result<_, Status>> = self + let task: JoinHandle<Result<_, Status>> = self .tokio_handle .spawn(async move { Ok(grpc_client.put(blobchunk_stream).await?.into_inner()) }); |