diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-11 00:54:30 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-11 00:54:30 +0200 |
| commit | 5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8 (patch) | |
| tree | c64baa8d5866c8e339eaf660dd3f94f30a3f7d8a /crates/atuin-daemon/src/server.rs | |
| parent | chore: Somewhat simplify sync code (diff) | |
| download | atuin-5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8.zip | |
chore: Move everything into one big crate
That helps remove duplicated code and rustc/cargo will now also show
dead code correctly.
Diffstat (limited to '')
| -rw-r--r-- | crates/turtle/src/atuin_daemon/server.rs (renamed from crates/atuin-daemon/src/server.rs) | 75 |
1 files changed, 10 insertions, 65 deletions
diff --git a/crates/atuin-daemon/src/server.rs b/crates/turtle/src/atuin_daemon/server.rs index b823cff2..23b04342 100644 --- a/crates/atuin-daemon/src/server.rs +++ b/crates/turtle/src/atuin_daemon/server.rs @@ -1,15 +1,15 @@ use eyre::Result; -use crate::components::history::HistoryGrpcService; -use crate::components::search::SearchGrpcService; -use crate::components::semantic::SemanticGrpcService; -use crate::control::{ControlService, control_server::ControlServer}; -use crate::daemon::DaemonHandle; -use crate::history::history_server::HistoryServer; -use crate::search::search_server::SearchServer; -use crate::semantic::semantic_server::SemanticServer; +use crate::atuin_daemon::components::history::HistoryGrpcService; +use crate::atuin_daemon::components::search::SearchGrpcService; +use crate::atuin_daemon::components::semantic::SemanticGrpcService; +use crate::atuin_daemon::control::{ControlService, control_server::ControlServer}; +use crate::atuin_daemon::daemon::DaemonHandle; +use crate::atuin_daemon::history::history_server::HistoryServer; +use crate::atuin_daemon::search::search_server::SearchServer; +use crate::atuin_daemon::semantic::semantic_server::SemanticServer; -use atuin_client::settings::Settings; +use crate::atuin_client::settings::Settings; /// Run the gRPC server with the given services. /// @@ -65,8 +65,6 @@ pub async fn run_grpc_server( } (UnixListener::from_std(listener)?, false) } - #[cfg(not(target_os = "linux"))] - unreachable!() } else { tracing::info!("listening on unix socket {socket_path:?}"); (UnixListener::bind(socket_path.clone())?, true) @@ -78,7 +76,7 @@ pub async fn run_grpc_server( let shutdown_signal = async move { let mut rx = handle.subscribe(); loop { - use crate::DaemonEvent; + use crate::atuin_daemon::DaemonEvent; match rx.recv().await { Ok(DaemonEvent::ShutdownRequested) => break, @@ -115,56 +113,3 @@ pub async fn run_grpc_server( Ok(()) } - -/// Run the gRPC server with the given services (Windows/TCP version). -#[cfg(not(unix))] -pub async fn run_grpc_server( - settings: Settings, - history_service: HistoryServer<HistoryGrpcService>, - search_service: SearchServer<SearchGrpcService>, - semantic_service: SemanticServer<SemanticGrpcService>, - control_service: ControlServer<ControlService>, - handle: DaemonHandle, -) -> Result<()> { - use tokio::net::TcpListener; - use tokio_stream::wrappers::TcpListenerStream; - use tonic::transport::Server; - - let port = settings.daemon.tcp_port; - let url = format!("127.0.0.1:{port}"); - let tcp = TcpListener::bind(&url).await?; - let tcp_stream = TcpListenerStream::new(tcp); - - tracing::info!("listening on tcp port {:?}", port); - - // Create shutdown signal from daemon handle - let shutdown_signal = async move { - use crate::DaemonEvent; - - let mut rx = handle.subscribe(); - loop { - match rx.recv().await { - Ok(DaemonEvent::ShutdownRequested) => break, - Ok(_) => continue, - Err(_) => break, // Channel closed - } - } - eprintln!("Shutting down gRPC server..."); - }; - - // Spawn the server in the background - tokio::spawn(async move { - if let Err(e) = Server::builder() - .add_service(history_service) - .add_service(search_service) - .add_service(semantic_service) - .add_service(control_service) - .serve_with_incoming_shutdown(tcp_stream, shutdown_signal) - .await - { - tracing::error!("gRPC server error: {e}"); - } - }); - - Ok(()) -} |
