From ace7eae23a4b1f6db6be5259b38befdb98a755e4 Mon Sep 17 00:00:00 2001 From: Jonas Tepe <9396911+jtepe@users.noreply.github.com> Date: Sat, 6 Jun 2026 15:26:15 +0200 Subject: [PATCH] simplify Mio example from chapter 4 somewhat --- ch04/b-epoll-mio/src/main.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ch04/b-epoll-mio/src/main.rs b/ch04/b-epoll-mio/src/main.rs index 16e93fe..b8a2a01 100644 --- a/ch04/b-epoll-mio/src/main.rs +++ b/ch04/b-epoll-mio/src/main.rs @@ -65,10 +65,9 @@ fn handle_events(events: &[Event], streams: &mut [TcpStream], handled: &mut Hash Ok(n) if n == 0 => { // FIX #4 // `insert` returns false if the value already existed in the set. - if !handled.insert(index) { - break; + if handled.insert(index) { + handled_events += 1; } - handled_events += 1; break; } Ok(n) => { @@ -147,7 +146,7 @@ fn main() -> Result<()> { // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // To make minimal changes to the existing code we create a Vec from mio's // Events collection - let events: Vec = events.into_iter().map(|e| e.clone()).collect(); + let events: Vec = events.into_iter().cloned().collect(); // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ------------------------------------------------------⌄ FIX #4 (new signature)