diff options
Diffstat (limited to 'crates/atuin-daemon/src')
| -rw-r--r-- | crates/atuin-daemon/src/client.rs | 9 | ||||
| -rw-r--r-- | crates/atuin-daemon/src/server.rs | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/crates/atuin-daemon/src/client.rs b/crates/atuin-daemon/src/client.rs index f3fecdbc..3de872d2 100644 --- a/crates/atuin-daemon/src/client.rs +++ b/crates/atuin-daemon/src/client.rs @@ -4,6 +4,8 @@ use tokio::net::TcpStream; use tonic::transport::{Channel, Endpoint, Uri}; use tower::service_fn; +use hyper_util::rt::TokioIo; + #[cfg(unix)] use tokio::net::UnixStream; @@ -23,9 +25,11 @@ impl HistoryClient { pub async fn new(path: String) -> Result<Self> { let channel = Endpoint::try_from("http://atuin_local_daemon:0")? .connect_with_connector(service_fn(move |_: Uri| { - let path = path.to_string(); + let path = path.clone(); - UnixStream::connect(path) + async move { + Ok::<_, std::io::Error>(TokioIo::new(UnixStream::connect(path.clone()).await?)) + } })) .await .map_err(|_| eyre!("failed to connect to local atuin daemon. Is it running?"))?; @@ -40,6 +44,7 @@ impl HistoryClient { let channel = Endpoint::try_from("http://atuin_local_daemon:0")? .connect_with_connector(service_fn(move |_: Uri| { let url = format!("127.0.0.1:{}", port); + TcpStream::connect(url) })) .await diff --git a/crates/atuin-daemon/src/server.rs b/crates/atuin-daemon/src/server.rs index 1cfcef51..c9f97a65 100644 --- a/crates/atuin-daemon/src/server.rs +++ b/crates/atuin-daemon/src/server.rs @@ -207,6 +207,7 @@ async fn start_server(settings: Settings, history: HistoryService) -> Result<()> }; let uds_stream = UnixListenerStream::new(uds); + Server::builder() .add_service(HistoryServer::new(history)) .serve_with_incoming_shutdown( @@ -214,6 +215,7 @@ async fn start_server(settings: Settings, history: HistoryService) -> Result<()> shutdown_signal(cleanup.then_some(socket_path.into())), ) .await?; + Ok(()) } |
