@@ -827,6 +827,7 @@ mod tests {
|
||||
assert!(conn.state.writing.is_queued());
|
||||
assert!(conn.poll_complete().unwrap().is_ready());
|
||||
assert!(!conn.state.writing.is_queued());
|
||||
assert!(conn.io.io_mut().flushed());
|
||||
|
||||
Ok(())
|
||||
}).wait();
|
||||
|
||||
@@ -134,15 +134,16 @@ impl<T: Write> Write for Buffered<T> {
|
||||
|
||||
fn flush(&mut self) -> io::Result<()> {
|
||||
if self.write_buf.remaining() == 0 {
|
||||
Ok(())
|
||||
self.io.flush()
|
||||
} else {
|
||||
loop {
|
||||
let n = try!(self.write_buf.write_into(&mut self.io));
|
||||
debug!("flushed {} bytes", n);
|
||||
if self.write_buf.remaining() == 0 {
|
||||
return Ok(())
|
||||
break;
|
||||
}
|
||||
}
|
||||
self.io.flush()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user