aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/atuin_daemon/server.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-13 00:50:54 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-13 00:50:54 +0200
commit6723829a3398b3c9dd6dc6ae79124f46000606ee (patch)
treea1ec535eddd711a4557e4bcc5b94382c3623504c /crates/turtle/src/atuin_daemon/server.rs
parentchore(treewide): Cleanup themes (diff)
downloadatuin-6723829a3398b3c9dd6dc6ae79124f46000606ee.zip
chore(treewide): Remove `cargo` warnings to 0
There are still the `clippy` warnings, but they are for a future date.
Diffstat (limited to 'crates/turtle/src/atuin_daemon/server.rs')
-rw-r--r--crates/turtle/src/atuin_daemon/server.rs38
1 files changed, 22 insertions, 16 deletions
diff --git a/crates/turtle/src/atuin_daemon/server.rs b/crates/turtle/src/atuin_daemon/server.rs
index 65272d2a..36954cca 100644
--- a/crates/turtle/src/atuin_daemon/server.rs
+++ b/crates/turtle/src/atuin_daemon/server.rs
@@ -1,23 +1,28 @@
use eyre::Result;
-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 crate::atuin_client::settings::Settings;
+use crate::{
+ atuin_client::settings::Settings,
+ atuin_daemon::{
+ components::{
+ history::HistoryGrpcService, search::SearchGrpcService, semantic::SemanticGrpcService,
+ },
+ daemon::DaemonHandle,
+ generated::{
+ control::{ControlService, control_server::ControlServer},
+ history::history_server::HistoryServer,
+ search::search_server::SearchServer,
+ semantic::semantic_server::SemanticServer,
+ },
+ },
+};
/// Run the gRPC server with the given services.
///
/// This starts the gRPC server in the background and returns immediately.
-/// The server will shut down when a ShutdownRequested event is received.
+/// The server will shut down when a [`ShutdownRequested`] event is received.
#[cfg(unix)]
-pub(crate) async fn run_grpc_server(
- settings: Settings,
+pub(crate) fn run_grpc_server(
+ settings: &Settings,
history_service: HistoryServer<HistoryGrpcService>,
search_service: SearchServer<SearchGrpcService>,
semantic_service: SemanticServer<SemanticGrpcService>,
@@ -75,15 +80,16 @@ pub(crate) async fn run_grpc_server(
// Create shutdown signal from daemon handle
let shutdown_signal = async move {
let mut rx = handle.subscribe();
+
loop {
use crate::atuin_daemon::DaemonEvent;
match rx.recv().await {
- Ok(DaemonEvent::ShutdownRequested) => break,
- Ok(_) => continue,
- Err(_) => break, // Channel closed
+ Err(_) | Ok(DaemonEvent::ShutdownRequested) => break,
+ Ok(_) => (),
}
}
+
if cleanup {
eprintln!("Removing socket...");
if let Err(e) = std::fs::remove_file(&socket_path)