Skip to content

Instantly share code, notes, and snippets.

@skade
Last active November 2, 2015 09:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skade/50c0c5b0bdc3efee084e to your computer and use it in GitHub Desktop.
Save skade/50c0c5b0bdc3efee084e to your computer and use it in GitHub Desktop.
stuff to copy
fn handle(mailbox: &mut Mailbox, stream: &mut TcpStream) {
let message = read_message(stream);
match message.trim() {
"READ" => {
let maybe_mail = mailbox.get_mail();
if let Some(mail) = maybe_mail {
write!(stream, "{}", mail);
} else {
write!(stream, "Sorry, no new messages!");
}
}
_ => {
mailbox.put_mail(message);
println!("Mailbox contents: {:?}", mailbox);
}
}
}
fn read_message(stream: &mut TcpStream) -> String {
let mut read_buffer = String::new();
let mut buffered_stream = BufReader::new(stream);
let res = buffered_stream.read_line(&mut read_buffer);
res.ok().expect("An error occured while reading!");
read_buffer
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment