commit fe81d1f617256b84d61934632dbfa2f075c025e8
parent 4fcd9219438c91c3b1390799fce61446eff0bcee
Author: Daniel Barlow <dan@telent.net>
Date: Fri, 2 Jan 2026 16:57:13 +0000
pass socket into MdnsResponder
we otherwise have to pass in the buffers it uses so it's hardly like
we're hiding it.
Diffstat:
1 file changed, 11 insertions(+), 20 deletions(-)
diff --git a/ecu-esp32/src/wifi.rs b/ecu-esp32/src/wifi.rs
@@ -82,19 +82,9 @@ struct MdnsResponder<'a> {
impl<'a> MdnsResponder<'a> {
fn new(stack : Stack<'a>,
- rx_meta : &'a mut [PacketMetadata],
- rx_buffer : &'a mut [u8],
- tx_meta : &'a mut [PacketMetadata],
- tx_buffer : &'a mut [u8],
- my_address: [u8;4]) -> MdnsResponder<'a> {
-
- let mut sock = UdpSocket::new(
- stack,
- rx_meta,
- rx_buffer,
- tx_meta,
- tx_buffer,
- );
+ mut sock: UdpSocket<'a>,
+ my_address: [u8;4]) -> MdnsResponder<'a> {
+
sock.set_hop_limit(Some(255));
log::info!("sock.bind(5353) res: {:?}", sock.bind(MDNS_PORT));
log::info!(
@@ -598,14 +588,15 @@ pub async fn start_wifi(spawner: &Spawner,
let mut tx_buffer = [0u8; 4096];
let mut rx_meta = [PacketMetadata::EMPTY; 512];
let mut tx_meta = [PacketMetadata::EMPTY; 512];
+ let sock = UdpSocket::new(
+ stack,
+ &mut rx_meta,
+ &mut rx_buffer,
+ &mut tx_meta,
+ &mut tx_buffer,
+ );
- let mut mdns_responder = MdnsResponder::new(
- stack,
- &mut rx_meta,
- &mut rx_buffer,
- &mut tx_meta,
- &mut tx_buffer,
- my_address);
+ let mut mdns_responder = MdnsResponder::new(stack, sock, my_address);
loop {
if mdns_responder.may_recv().await {