about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-05-13 20:01:28 -0700
committerbors <bors@rust-lang.org>2014-05-13 20:01:28 -0700
commite4414739a5897ff2a4b35de5f7e1436b6e3f3f10 (patch)
tree03adfb84a80249982d5dee710f7cf7f0de988631 /src/rustllvm/RustWrapper.cpp
parentb2b383cab5959b1ec331e1d77583fa944b7fd593 (diff)
parent972f2e585528515eaab4bee7270acda7f7375398 (diff)
downloadrust-e4414739a5897ff2a4b35de5f7e1436b6e3f3f10.tar.gz
rust-e4414739a5897ff2a4b35de5f7e1436b6e3f3f10.zip
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]
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions