eculocate

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 35e09a23434298f901ca37354f7f514b3d1ceaf4
parent 5cb10f9383dc526421c14b0a962a25f761105ddd
Author: Daniel Barlow <dan@telent.net>
Date:   Sun, 28 Dec 2025 17:56:36 +0000

send unsolicited response at startup

Diffstat:
Mecu-esp32/src/wifi.rs | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/ecu-esp32/src/wifi.rs b/ecu-esp32/src/wifi.rs @@ -204,6 +204,12 @@ impl DnsDatabase { results } + // the records we announce unsolicited at startup + fn advertised(&self) -> Vec<&DnsResource> { + self.records.iter().filter( |r| r.name != DISCOVERY_NAME ).collect() + } + + fn additional(&self, r: &DnsResource) -> Vec<&DnsResource> { match &r.data { RData::Srv { target, port:_, priority:_, weight:_ } => { @@ -407,12 +413,12 @@ pub async fn start_wifi(spawner: &Spawner, ); -// send_advert(&sock, rng.random() as u16, MDNS_ENDPOINT, None, &my_address).await; - let mut data_buf = [0; 4096]; let dns_db = DnsDatabase::create(&my_address); + send_response(&sock, 0, MDNS_ENDPOINT, &dns_db, None, dns_db.advertised()).await; + loop { if sock.may_recv() { let mut questions = [Question::default(); 64];