mirror of
https://codeberg.org/icewind/palantir.git
synced 2026-06-03 18:24:08 +02:00
refresh ip list when restarting mdns responder
This commit is contained in:
parent
fca34b3422
commit
e001378962
1 changed files with 10 additions and 8 deletions
18
src/main.rs
18
src/main.rs
|
|
@ -100,15 +100,17 @@ async fn main() -> Result<()> {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn setup_mdns(hostname: String, port: u16) {
|
async fn setup_mdns(hostname: String, port: u16) {
|
||||||
let interfaces = if_addrs::get_if_addrs().unwrap_or_default();
|
|
||||||
let ip_list: Vec<_> = interfaces
|
|
||||||
.into_iter()
|
|
||||||
.filter(|interface| !interface.name.contains("docker") && !interface.name.contains("br-"))
|
|
||||||
.map(|interface| interface.addr.ip())
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
let mdns = loop {
|
let mdns = loop {
|
||||||
match Responder::spawn_with_ip_list(&Handle::current(), ip_list.clone()) {
|
let interfaces = if_addrs::get_if_addrs().unwrap_or_default();
|
||||||
|
let ip_list: Vec<_> = interfaces
|
||||||
|
.into_iter()
|
||||||
|
.filter(|interface| {
|
||||||
|
!interface.name.contains("docker") && !interface.name.contains("br-")
|
||||||
|
})
|
||||||
|
.map(|interface| interface.addr.ip())
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
match Responder::spawn_with_ip_list(&Handle::current(), ip_list) {
|
||||||
Ok(mdns) => break mdns,
|
Ok(mdns) => break mdns,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
warn!(error = display(e), "Failed to register mdns responder");
|
warn!(error = display(e), "Failed to register mdns responder");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue