код из асинка:
fn parse_line(socket: &TcpStream, cancel_flag: Cell<bool>) -> Result<String, Error> {
let len = if cancel_flag.get() { panic!() } else { socket.read_u32()? }; // (1)
let mut line = vec![0; len];
if cancel_flag.get() { panic!() } else { socket.read_exact(&mut line)? }; // (2)
let line = str::from_utf8(line)?;
Ok(line)
}
Я писал уже вот тут.
Обсуждают сегодня