summaryrefslogtreecommitdiffstats
path: root/buffered-reader
AgeCommit message (Collapse)Author
2019-10-30Update authors.Neal H. Walfield
2019-10-30buffered-reader: Avoid unnecessarily reading from the inner reader.Neal H. Walfield
- If the internal buffer has some data, process that before reading more.
2019-10-30openpgp,buffered-reader: Optimize Vec<u8>::truncate manuallyNeal H. Walfield
- On debug builds, Vec<u8>::truncate is very, very slow. For instance, running the decrypt_test_stream test takes 51 seconds on my (Neal's) computer using Vec<u8>::truncate and <0.1 seconds using `unsafe { v.set_len(len); }`. The issue is that the compiler calls drop on every element that is dropped, even though a u8 doesn't have a drop implementation. The compiler optimizes this away at high optimization levels, but those levels make debugging harder.
2019-10-30buffered-reader: Fix Generic::data_helper.Neal H. Walfield
- The `Generic::data_helper` was not sufficiently careful when dealing with errors. In particular: - If `Generic::data_hard(1)` was called, and an error occured, and nothing was buffered or read, `Generic::data_helper` would return the empty string instead of the error. - If `Generic::data(n)` was called, and an error occured, but some data (< n bytes) was buffered, `Generic::data_helper` would return the error instead of the data that was read. - Fix these bugs. - Also, simplify the code and don't save whether we hit EOF or the error (which we can only return once, anyway). Instead, rely on the underlying reader to return EOF or the error again. - Fixes #174.
2019-10-30buffered-reader: Change drop_through to optionally match EOF.Neal H. Walfield
- Change BufferedReader::drop_through to optionally match EOF.
2019-10-27Fix more spelling errors caught by codespellDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-10-25Release 0.11.0.v0.11.0Justus Winter
2019-09-27linting: Clear up bare trait object warningsDaniel Silverstone
Newer Rust compilers requre `dyn` marking trait objects. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-06Release 0.10.0.v0.10.0Justus Winter
2019-07-15Switch to Rust 2018.Justus Winter
2019-07-15Prepare for Rust 2018.Justus Winter
- This is the result of running `cargo fix --edition`, with some manual adjustments. - The vast majority of changes merely qualify module paths with 'crate::'. - Two instances of adding an anonymous pattern to a trait's function. - `async` is a keyword in Rust 2018, and hence it needs to be escaped (e.g. in the case of the net::r#async module). - The manual adjustments were needed due to various shortcomings of the analysis employed by `cargo fix`, e.g. unexpanded macros, procedural macros, lalrpop grammars.
2019-07-08Release 0.9.0.v0.9.0Justus Winter
2019-06-14Release 0.8.0.v0.8.0Justus Winter
2019-06-14buffered-reader: Clarify loop variant.Justus Winter
- Fixes #237.
2019-06-14buffered-reader: Fix comment.Justus Winter
2019-05-10Release 0.7.0.v0.7.0Justus Winter
2019-05-03buffered-reader: Add convenience functions to drop some dataNeal H. Walfield
- Add convenience methods to the BufferReader trait to drop data until some byte is encountered (BufferedReader::drop_until and BufferedReader::drop_through).
2019-04-12Release 0.6.0.v0.6.0Justus Winter
- Also bump rfc2822 to 0.6.0. After all, we create tags for the versions.
2019-04-12buffered-reader, rfc2822: Use docs.rs for the documentation.Justus Winter
2019-04-02buffered-reader: New predicate BufferedReader::consummated.Justus Winter
2019-04-02buffered-reader: New predicate BufferedReader::eof.Justus Winter
2019-04-02buffered-reader: Fix limit computation.Justus Winter
- Previously, if the underlying reader returned less data than 'amount', the limit would still be reduced by 'amount'.
2019-04-02buffered-reader: Fix Limitor's io::Read interface.Justus Winter
2019-03-28Point to the version-specific documentation.Justus Winter
2019-03-14Release 0.5.0.v0.5.0Justus Winter
2019-03-01buffered-reader: Drop BufferedReader prefix.Justus Winter
- For example, `buffered_reader::BufferedReaderMemory` is now called `buffered_reader::Memory`. This makes the type names less unwieldy. - Fixes #206.
2019-03-01buffered-reader: Fix BufferedReaderEOF.Justus Winter
- According to the BufferedReader interface it is okay to return short reads on `BufferedReader::data_consume()`. - If `BufferedReader::data_consume_hard()` is called, return UnexpectedEof instead of panicking. - Fixes #207.
2019-03-01buffered-reader: Remove unused file.Justus Winter
2018-12-18Release 0.3.0.v0.3.0Justus Winter
2018-11-27Fix the gitlab badges.Justus Winter
2018-11-26Release 0.2.0.v0.2.0Justus Winter
2018-11-26buffered-reader: Add a README.Justus Winter
2018-11-24Fix mail address.Justus Winter
2018-11-24Update packaging metadata in preparation for a release.Justus Winter
2018-11-16buffered-reader: Require that BufferedReaders implement Display.Neal H. Walfield
- Also, update BufferedReaders to implement it.
2018-10-15buffered-reader: Fix compilation on windows.Sebastian Thiel
2018-10-04buffered-reader: Ignore EINTR.Neal H. Walfield
- If we get an EINTR while reading, automatically retry.
2018-10-04buffered-reader: Provide default implementations for more methodsNeal H. Walfield
- Since it is possible to provide an efficient default implementation of data_consume and data_consume_hard, we should do so.
2018-10-04buffered-reader: Add an assert.Neal H. Walfield
2018-10-04buffered-reader: Rework documentation.Neal H. Walfield
2018-10-02buffered-reader: Fix BufferedReaderGeneric::data_hard.Neal H. Walfield
- Calling BufferedReaderGeneric::data_hard with amount greater than 0 on an empty file should return an error, not an empty buffer.
2018-10-02buffered-reader,openpgp: Simplify BufferedReaders' debugging outputNeal H. Walfield
- BufferedReaders are often nested. Print the current reader's state first and the inner reader last so that the debugging output is more readable.
2018-10-01buffered-reader: Don't read more than we have space forNeal H. Walfield
2018-09-26buffered-reader: Add a new reader, BufferedReaderReserveNeal H. Walfield
- This buffered reader prevents the reader from reading the last X bytes of the underlying buffered reader.
2018-09-17buffered-reader: Add mmapping BufferedReaderFile variant.Justus Winter
- Fixes #98.
2018-09-17buffered-reader: Add a new buffered reader for files.Justus Winter
2018-07-29buffered-reader: Provide a mechanism to rewind a BufferedReaderDupNeal H. Walfield
- New method BufferedReaderDup::rewind.
2018-07-24buffered-reader: Add a function to read to a particular byteNeal H. Walfield
- This is useful for reading a line at a time.
2018-07-17buffered-reader: Typo.Justus Winter
2018-07-16buffered-reader: Have drop_eof return if any content was droppedNeal H. Walfield