From 199e5e0339ee7d58f9e8a6958c8f9aad5b82e26d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 12 Oct 2023 15:42:01 +0200 Subject: refactor(tvix/*store): remove some grpc_client let bindings We had to have these all while the traits where sync, and there was a lot of spawning and moving. Most of this can now be removed in favor of some inline `.clone()`. Change-Id: Id5466c32a403100bc3347866b3172e06a792e311 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9705 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster --- tvix/castore/src/blobservice/grpc.rs | 7 +++---- tvix/castore/src/directoryservice/grpc.rs | 8 +++++--- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'tvix/castore') diff --git a/tvix/castore/src/blobservice/grpc.rs b/tvix/castore/src/blobservice/grpc.rs index 115efa5f09c6..52adf2c6dde5 100644 --- a/tvix/castore/src/blobservice/grpc.rs +++ b/tvix/castore/src/blobservice/grpc.rs @@ -112,12 +112,11 @@ impl BlobService for GRPCBlobService { &self, digest: &B3Digest, ) -> Result>, crate::Error> { - // Get a new handle to the gRPC client, and copy the digest. - let mut grpc_client = self.grpc_client.clone(); - // Get a stream of [proto::BlobChunk], or return an error if the blob // doesn't exist. - let resp = grpc_client + let resp = self + .grpc_client + .clone() .read(proto::ReadBlobRequest { digest: digest.clone().into(), }) diff --git a/tvix/castore/src/directoryservice/grpc.rs b/tvix/castore/src/directoryservice/grpc.rs index 7ef9f84b0a16..4ee2d28e97c0 100644 --- a/tvix/castore/src/directoryservice/grpc.rs +++ b/tvix/castore/src/directoryservice/grpc.rs @@ -139,9 +139,11 @@ impl DirectoryService for GRPCDirectoryService { } async fn put(&self, directory: crate::proto::Directory) -> Result { - let mut grpc_client = self.grpc_client.clone(); - - let resp = grpc_client.put(tokio_stream::iter(vec![directory])).await; + let resp = self + .grpc_client + .clone() + .put(tokio_stream::once(directory)) + .await; match resp { Ok(put_directory_resp) => Ok(put_directory_resp -- cgit 1.4.1