diff options
Diffstat (limited to 'tvix/castore')
-rw-r--r-- | tvix/castore/Cargo.toml | 13 | ||||
-rw-r--r-- | tvix/castore/src/blobservice/tests/utils.rs | 3 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/tests/utils.rs | 3 | ||||
-rw-r--r-- | tvix/castore/src/tonic.rs | 6 |
4 files changed, 16 insertions, 9 deletions
diff --git a/tvix/castore/Cargo.toml b/tvix/castore/Cargo.toml index f428101bd8d7..aaa788ca707c 100644 --- a/tvix/castore/Cargo.toml +++ b/tvix/castore/Cargo.toml @@ -15,17 +15,17 @@ digest = "0.10.7" fastcdc = { version = "3.1.0", features = ["tokio"] } futures = "0.3.30" lazy_static = "1.4.0" -object_store = { version = "0.9.1", features = ["http"] } +object_store = { version = "0.10.1", features = ["http"] } parking_lot = "0.12.1" pin-project-lite = "0.2.13" -prost = "0.12.1" +prost = "0.13.1" sled = { version = "0.34.7" } thiserror = "1.0.38" tokio-stream = { version = "0.1.14", features = ["fs", "net"] } tokio-util = { version = "0.7.9", features = ["io", "io-util", "codec"] } tokio-tar = "0.3.1" tokio = { version = "1.32.0", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } -tonic = "0.11.0" +tonic = "0.12.0" tower = "0.4.13" tracing = "0.1.37" tracing-indicatif = "0.3.6" @@ -39,6 +39,7 @@ serde_qs = "0.12.0" petgraph = "0.6.4" erased-serde = "0.4.5" serde_tagged = "0.3.0" +hyper-util = "0.1.6" [dependencies.bigtable_rs] optional = true @@ -58,7 +59,7 @@ optional = true [dependencies.tonic-reflection] optional = true -version = "0.11.0" +version = "0.12.0" [dependencies.vhost] optional = true @@ -85,8 +86,8 @@ optional = true version = "0.2.1" [build-dependencies] -prost-build = "0.12.1" -tonic-build = "0.11.0" +prost-build = "0.13.1" +tonic-build = "0.12.0" [dev-dependencies] async-process = "2.1.0" diff --git a/tvix/castore/src/blobservice/tests/utils.rs b/tvix/castore/src/blobservice/tests/utils.rs index 706c4b5e4319..7df4f00d3a09 100644 --- a/tvix/castore/src/blobservice/tests/utils.rs +++ b/tvix/castore/src/blobservice/tests/utils.rs @@ -2,6 +2,7 @@ use crate::blobservice::{BlobService, MemoryBlobService}; use crate::proto::blob_service_client::BlobServiceClient; use crate::proto::GRPCBlobServiceWrapper; use crate::{blobservice::GRPCBlobService, proto::blob_service_server::BlobServiceServer}; +use hyper_util::rt::TokioIo; use tonic::transport::{Endpoint, Server, Uri}; /// Constructs and returns a gRPC BlobService. @@ -33,7 +34,7 @@ pub async fn make_grpc_blob_service_client() -> Box<dyn BlobService> { .unwrap() .connect_with_connector(tower::service_fn(move |_: Uri| { let right = maybe_right.take().unwrap(); - async move { Ok::<_, std::io::Error>(right) } + async move { Ok::<_, std::io::Error>(TokioIo::new(right)) } })) .await .unwrap(), diff --git a/tvix/castore/src/directoryservice/tests/utils.rs b/tvix/castore/src/directoryservice/tests/utils.rs index 0f706695eec8..3d245ea412d5 100644 --- a/tvix/castore/src/directoryservice/tests/utils.rs +++ b/tvix/castore/src/directoryservice/tests/utils.rs @@ -6,6 +6,7 @@ use crate::{ proto::directory_service_server::DirectoryServiceServer, }; +use hyper_util::rt::TokioIo; use tonic::transport::{Endpoint, Server, Uri}; /// Constructs and returns a gRPC DirectoryService. @@ -37,7 +38,7 @@ pub async fn make_grpc_directory_service_client() -> Box<dyn DirectoryService> { .unwrap() .connect_with_connector(tower::service_fn(move |_: Uri| { let right = maybe_right.take().unwrap(); - async move { Ok::<_, std::io::Error>(right) } + async move { Ok::<_, std::io::Error>(TokioIo::new(right)) } })) .await .unwrap(), diff --git a/tvix/castore/src/tonic.rs b/tvix/castore/src/tonic.rs index 4b65d6b028ef..e63e1ad7aab8 100644 --- a/tvix/castore/src/tonic.rs +++ b/tvix/castore/src/tonic.rs @@ -1,3 +1,4 @@ +use hyper_util::rt::TokioIo; use tokio::net::UnixStream; use tonic::transport::{Channel, Endpoint}; @@ -25,7 +26,10 @@ pub async fn channel_from_url(url: &url::Url) -> Result<Channel, self::Error> { let connector = tower::service_fn({ let url = url.clone(); - move |_: tonic::transport::Uri| UnixStream::connect(url.path().to_string().clone()) + move |_: tonic::transport::Uri| { + let unix = UnixStream::connect(url.path().to_string().clone()); + async move { Ok::<_, std::io::Error>(TokioIo::new(unix.await?)) } + } }); // the URL doesn't matter |