eculocate

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

commit 0d86c641344f5ddbdbdff08bfb3f9f7432c82ad1
parent ebf60e64ad881fedd27fb2a6b37dd8ec06d8b1d3
Author: Daniel Barlow <dan@telent.net>
Date:   Sat, 24 Jan 2026 22:20:49 +0000

replace read_all with socket.read_exact

Diffstat:
Mecu-esp32/src/wifi.rs | 29+++--------------------------
1 file changed, 3 insertions(+), 26 deletions(-)

diff --git a/ecu-esp32/src/wifi.rs b/ecu-esp32/src/wifi.rs @@ -36,6 +36,7 @@ use esp_radio::{ }; use embassy_net::Stack; +use embedded_io_async::Read; use log::{warn, info}; @@ -211,28 +212,6 @@ async fn net_task(mut runner: Runner<'static, WifiDevice<'static>>) { runner.run().await } -async fn read_all(socket: &mut embassy_net::tcp::TcpSocket<'_>, - buf: &mut [u8], - len: usize) -> usize { - let mut n = 0; - while n < len { - match socket.read(&mut buf[n..len]).await { - Ok(0) => { - warn!("read EOF"); - break; - }, - Ok(count) => { - n = n + count; - } - Err(e) => { - warn!("read err {:?}", e); - return 0; // ew - } - } - } - n -} - fn register_session_key(key : &[u8]) { info!("got session key{:?}", key); @@ -257,9 +236,7 @@ async fn run_tcp_handler(stack : Stack<'_>, info!("Received connection from {:?}", socket.remote_endpoint()); - let n = read_all(&mut socket, &mut buf, 4).await; - - if n == 4 { + if let Ok(_) = socket.read_exact(&mut buf[0..4]).await { info!("got a thing"); match &buf[0..4] { b"ROM0" => { @@ -268,7 +245,7 @@ async fn run_tcp_handler(stack : Stack<'_>, }, b"KEY0" => { info!("sessionkey"); - if read_all(&mut socket, &mut buf, 96).await == 64 { + if let Ok(_) = socket.read_exact(&mut buf).await { let (_sig, key) = buf.split_at(64); register_session_key(&key); }