aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 2574b3e..6974cd7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -73,14 +73,14 @@ impl IrcClient <state::Disconnected> {
});
spawn(proc() {
- let mut reader = reader;
+ let mut reader = BufferedReader::new(reader);
loop {
- fn reader_by_ref<'a, R: Reader>(reader: &'a mut R) -> std::io::RefReader<'a, R> { reader.by_ref() }
-
- reader.set_read_timeout(Some(500));
- let mut buf_reader = BufferedReader::new(reader_by_ref(&mut reader));
+ unsafe {
+ let raw: *mut TcpStream = reader.get_ref() as *_ as *mut _;
+ (*raw).set_read_timeout(Some(500));
+ }
- let line = buf_reader.read_line();
+ let line = reader.read_line();
match line {
Ok(line) => match from_str::<Message>(line.as_slice().trim_right()) {
Some(msg) => {