rust/src/libstd/io
bors e4414739a5 auto merge of #13127 : kballard/rust/read_at_least, r=alexcrichton
Reader.read_at_least() ensures that at least a given number of bytes
have been read. The most common use-case for this is ensuring at least 1
byte has been read. If the reader returns 0 enough times in a row, a new
error kind NoProgress will be returned instead of looping infinitely.

This change is necessary in order to properly support Readers that
repeatedly return 0, either because they're broken, or because they're
attempting to do a non-blocking read on some resource that never becomes
available.

Also add .push() and .push_at_least() methods. push() is like read() but
the results are appended to the passed Vec.

Remove Reader.fill() and Reader.push_exact() as they end up being thin
wrappers around read_at_least() and push_at_least().

[breaking-change]
2014-05-13 20:01:28 -07:00
..
net Document a possible way in which connect_timout may change in the future 2014-05-12 21:41:48 -07:00
buffered.rs core: Add unwrap()/unwrap_err() methods to Result 2014-05-07 08:16:14 -07:00
comm_adapters.rs Replace most ~exprs with 'box'. #11779 2014-05-02 23:00:58 -07:00
extensions.rs io: Add .read_at_least() to Reader 2014-05-13 18:45:20 -07:00
flate.rs
fs.rs Add stat method to std::io::fs::File to stat without a Path. 2014-05-12 19:52:29 -07:00
mem.rs io: Add .read_at_least() to Reader 2014-05-13 18:45:20 -07:00
mod.rs io: Add .read_at_least() to Reader 2014-05-13 18:45:20 -07:00
pipe.rs librustc: Remove ~EXPR, ~TYPE, and ~PAT from the language, except 2014-05-06 23:12:54 -07:00
process.rs io: Implement process wait timeouts 2014-05-13 17:27:42 -07:00
result.rs De-~[] Mem{Reader,Writer} 2014-04-06 15:40:01 -07:00
signal.rs librustc: Remove ~EXPR, ~TYPE, and ~PAT from the language, except 2014-05-06 23:12:54 -07:00
stdio.rs core: Add unwrap()/unwrap_err() methods to Result 2014-05-07 08:16:14 -07:00
tempfile.rs core: Add unwrap()/unwrap_err() methods to Result 2014-05-07 08:16:14 -07:00
test.rs rustc: Don't allow priv use to shadow pub use 2014-04-10 15:22:01 -07:00
timer.rs core: Move Option::expect to libstd from libcore 2014-05-07 08:17:32 -07:00
util.rs std: Implement the Buffer trait for some wrappers 2014-05-07 08:11:19 -07:00