I have a TcpStream
that prints out received lines by buffering them in a BufReader
.
use std::net::TcpStream;
use std::io::{BufReader, BufRead, Write, BufWriter};
fn main() {
let stream = TcpStream::connect("irc.freenode.org:6667").unwrap();
let mut line = String::new();
let mut reader = BufReader::new(stream);
// let mut writer = BufWriter::new(stream); //Issues with moved value `stream`
loop {
let _ = reader.read_line(&mut line);
println!("{}", line);
line = String::new();
}
}
I want to be able to write to the stream as well using a BufWriter
but come across issues with use of moved value 'stream'
.
How can I read and write on the same TcpStream
?
I am aware of a crate that provides this functionality, but want to understand how to do it myself as I am new to Rust.