From 8fc09cb130cf85ae355d9025903cdcb2f66b117d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Sat, 1 Aug 2020 23:58:47 +0200 Subject: [PATCH] http: fix some clippy errors, including possible network bug --- aquatic_http_load_test/src/network.rs | 8 ++--- aquatic_http_protocol/src/request.rs | 42 +++++++++++++-------------- aquatic_http_protocol/src/utils.rs | 2 +- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/aquatic_http_load_test/src/network.rs b/aquatic_http_load_test/src/network.rs index 4906346..eee34e4 100644 --- a/aquatic_http_load_test/src/network.rs +++ b/aquatic_http_load_test/src/network.rs @@ -58,16 +58,12 @@ impl Connection { loop { match self.stream.read(&mut self.read_buffer[self.bytes_read..]){ Ok(bytes_read) => { - self.bytes_read = bytes_read; - - break; + self.bytes_read += bytes_read; }, Err(err) if err.kind() == ErrorKind::WouldBlock => { self.can_send_initial = false; - eprintln!("handle_read_event error would block: {}", err); - - return; + break; }, Err(err) => { self.bytes_read = 0; diff --git a/aquatic_http_protocol/src/request.rs b/aquatic_http_protocol/src/request.rs index b07d7a7..bf5e3c3 100644 --- a/aquatic_http_protocol/src/request.rs +++ b/aquatic_http_protocol/src/request.rs @@ -23,39 +23,39 @@ pub struct AnnounceRequest { impl AnnounceRequest { fn write(&self, output: &mut W) -> ::std::io::Result<()> { - output.write(b"GET /announce?info_hash=")?; + output.write_all(b"GET /announce?info_hash=")?; urlencode_20_bytes(self.info_hash.0, output)?; - output.write(b"&peer_id=")?; + output.write_all(b"&peer_id=")?; urlencode_20_bytes(self.info_hash.0, output)?; - output.write(b"&port=")?; - output.write(itoa::Buffer::new().format(self.port).as_bytes())?; + output.write_all(b"&port=")?; + output.write_all(itoa::Buffer::new().format(self.port).as_bytes())?; - output.write(b"&left=")?; - output.write(itoa::Buffer::new().format(self.bytes_left).as_bytes())?; + output.write_all(b"&left=")?; + output.write_all(itoa::Buffer::new().format(self.bytes_left).as_bytes())?; match self.event { - AnnounceEvent::Started => output.write(b"&event=started")?, - AnnounceEvent::Stopped => output.write(b"&event=stopped")?, - AnnounceEvent::Completed => output.write(b"&event=completed")?, - AnnounceEvent::Empty => 0, + AnnounceEvent::Started => output.write_all(b"&event=started")?, + AnnounceEvent::Stopped => output.write_all(b"&event=stopped")?, + AnnounceEvent::Completed => output.write_all(b"&event=completed")?, + AnnounceEvent::Empty => (), }; - output.write(b"&compact=")?; - output.write(itoa::Buffer::new().format(self.compact as u8).as_bytes())?; + output.write_all(b"&compact=")?; + output.write_all(itoa::Buffer::new().format(self.compact as u8).as_bytes())?; if let Some(numwant) = self.numwant { - output.write(b"&numwant=")?; - output.write(itoa::Buffer::new().format(numwant).as_bytes())?; + output.write_all(b"&numwant=")?; + output.write_all(itoa::Buffer::new().format(numwant).as_bytes())?; } if let Some(ref key) = self.key { - output.write(b"&key=")?; - output.write(key.as_str().as_bytes())?; + output.write_all(b"&key=")?; + output.write_all(key.as_str().as_bytes())?; } - output.write(b" HTTP/1.1\r\n\r\n")?; + output.write_all(b" HTTP/1.1\r\n\r\n")?; Ok(()) } @@ -70,22 +70,22 @@ pub struct ScrapeRequest { impl ScrapeRequest { fn write(&self, output: &mut W) -> ::std::io::Result<()> { - output.write(b"GET /scrape?")?; + output.write_all(b"GET /scrape?")?; let mut first = true; for info_hash in self.info_hashes.iter() { if !first { - output.write(b"&")?; + output.write_all(b"&")?; } - output.write(b"info_hash=")?; + output.write_all(b"info_hash=")?; urlencode_20_bytes(info_hash.0, output)?; first = false; } - output.write(b" HTTP/1.1\r\n\r\n")?; + output.write_all(b" HTTP/1.1\r\n\r\n")?; Ok(()) } diff --git a/aquatic_http_protocol/src/utils.rs b/aquatic_http_protocol/src/utils.rs index 92f90c6..0b12d75 100644 --- a/aquatic_http_protocol/src/utils.rs +++ b/aquatic_http_protocol/src/utils.rs @@ -21,7 +21,7 @@ pub fn urlencode_20_bytes( ).unwrap(); } - output.write(&tmp)?; + output.write_all(&tmp)?; Ok(()) }