diff --git a/embassy/src/embassy_sunset.rs b/embassy/src/embassy_sunset.rs index 80b22b8ea40a629f1ec2c07068b1ee3de89cb51e..8191dbd07390a3935b2c03b828ddecf747fefd3f 100644 --- a/embassy/src/embassy_sunset.rs +++ b/embassy/src/embassy_sunset.rs @@ -85,13 +85,16 @@ impl<'a> EmbassySunset<'a> { // TODO: make sunset read directly from socket, no intermediate buffer. let mut buf = [0; 1024]; let l = rsock.read(&mut buf).await.expect("TODO handle read error"); + if l == 0 { + trace!("net EOF"); + break + } let mut buf = &buf[..l]; while buf.len() > 0 { let n = self.write(&buf).await?; buf = &buf[n..]; } } - #[allow(unreachable_code)] Ok::<_, sunset::Error>(()) };