From 6e4d295a92acdf4ea195160a121fee4960b998e9 Mon Sep 17 00:00:00 2001 From: Matt Johnston <matt@ucc.asn.au> Date: Mon, 21 Nov 2022 23:14:54 +0800 Subject: [PATCH] Handle EOF from tcp stream input --- embassy/src/embassy_sunset.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/embassy/src/embassy_sunset.rs b/embassy/src/embassy_sunset.rs index 80b22b8..8191dbd 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>(()) }; -- GitLab