Make sure all data is written to socket

Using `write` means that it's possible that not all data gets written
out. Rather than check the return value and write in a loop, just use
`write_all`.
This commit is contained in:
Hugo Osvaldo Barrera
2022-05-30 21:07:30 +02:00
parent b6999f7209
commit df160d90ae
+2 -2
View File
@@ -33,7 +33,7 @@ fn read_body<T: Read + Write>(length: u32, socket: &mut ProxySocket<T>) {
if let Ok(_) = handle.read_exact(&mut buffer) {
if valid_length(length) {
socket.write(&buffer).unwrap();
socket.write_all(&buffer).unwrap();
socket.flush().unwrap();
read_response(socket);
}
@@ -52,7 +52,7 @@ fn write_response(buf: &[u8]) {
let mut out = stdout.lock();
out.write_u32::<NativeEndian>(buf.len() as u32).unwrap();
out.write(buf).unwrap();
out.write_all(buf).unwrap();
out.flush().unwrap();
}