aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-daemon/src/server.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 00:54:30 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-11 00:54:30 +0200
commit5c39e7cf284a1f6e9a1657f2deb44e359fc47eb8 (patch)
treec64baa8d5866c8e339eaf660dd3f94f30a3f7d8a /crates/atuin-daemon/src/server.rs
parentchore: Somewhat simplify sync code (diff)
downloadatuin-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(())
-}