From cc2c4ea8f3a664f3840d206353cfe47ffffb0112 Mon Sep 17 00:00:00 2001 From: ddidderr Date: Wed, 12 Nov 2025 23:30:08 +0100 Subject: [PATCH] wip --- Cargo.lock | 1 + crates/lanspread-mdns/Cargo.toml | 1 + crates/lanspread-peer/src/lib.rs | 16 +++++++--------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76d3316..a994b28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2195,6 +2195,7 @@ dependencies = [ "eyre", "log", "mdns-sd", + "tokio", "tracing", ] diff --git a/crates/lanspread-mdns/Cargo.toml b/crates/lanspread-mdns/Cargo.toml index 4ad6ae8..6ded37b 100644 --- a/crates/lanspread-mdns/Cargo.toml +++ b/crates/lanspread-mdns/Cargo.toml @@ -15,4 +15,5 @@ unwrap_used = "warn" eyre = { workspace = true } log = { workspace = true } mdns-sd = { workspace = true } +tokio = { workspace = true } tracing = { workspace = true } diff --git a/crates/lanspread-peer/src/lib.rs b/crates/lanspread-peer/src/lib.rs index 8402df7..9cb96b1 100644 --- a/crates/lanspread-peer/src/lib.rs +++ b/crates/lanspread-peer/src/lib.rs @@ -1268,7 +1268,10 @@ async fn run_server_component( format!("{truncated_hostname}-{peer_id}") }; - let mdns = MdnsAdvertiser::new(LANSPREAD_SERVICE_TYPE, &combined_str, server_addr)?; + let mdns = tokio::task::spawn_blocking(move || { + MdnsAdvertiser::new(LANSPREAD_SERVICE_TYPE, &combined_str, server_addr) + }) + .await??; // Monitor mDNS events let _tx_notify_ui_mdns = tx_notify_ui.clone(); @@ -1651,11 +1654,10 @@ async fn run_peer_discovery( log::info!("Starting peer discovery task"); loop { - let discovery_result = - tokio::task::spawn_blocking(|| discover_service(LANSPREAD_SERVICE_TYPE)).await; + let discovery_result = discover_service(LANSPREAD_SERVICE_TYPE); match discovery_result { - Ok(Ok(peer_addr)) => { + Ok(peer_addr) => { log::info!("Discovered peer at: {peer_addr}"); // Add peer to database @@ -1692,12 +1694,8 @@ async fn run_peer_discovery( }); } } - Ok(Err(e)) => { - log::debug!("Peer discovery error: {e}"); - tokio::time::sleep(Duration::from_secs(5)).await; - } Err(e) => { - log::error!("Peer discovery join error: {e}"); + log::debug!("Peer discovery error: {e}"); tokio::time::sleep(Duration::from_secs(5)).await; } }