From ba376a9addbc94ccc9b6610c251ef642b685b54a Mon Sep 17 00:00:00 2001 From: Thomas Gatzweiler Date: Sun, 16 Jul 2017 11:00:34 +0200 Subject: [PATCH] Flush stream after writing a packet --- src/connection.rs | 2 ++ src/packet.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/src/connection.rs b/src/connection.rs index 3e5e98f..0a171f8 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -44,6 +44,8 @@ impl Connection { pub fn run(&mut self, mut stream: &mut Read) -> io::Result<()> { self.stream.write(self.my_id.as_bytes())?; + self.stream.flush()?; + self.peer_id = Some(self.read_id(stream)?); if let Some(ref peer_id) = self.peer_id { diff --git a/src/packet.rs b/src/packet.rs index 1ceea55..5ed4cca 100644 --- a/src/packet.rs +++ b/src/packet.rs @@ -52,6 +52,7 @@ impl Packet { stream.write_u8(padding_len as u8)?; stream.write(&self.payload)?; stream.write(&[0u8; 255][..padding_len])?; + stream.flush()?; Ok(()) }