Releases: sagebind/sluice
Releases · sagebind/sluice
Update underlying channel implementation
Race condition bugfix
Fixed
- Fix panic caused by race condition when writing while dropping reader. (#16)
Dependency trimming
Changed
- Remove the
futures-util
dependency, which is a bit heavier than desired, and we didn't really need it anyway.
AsyncBufRead and dependency fix
Added
PipeReader
now also implementsAsyncBufRead
.(#8)
Fixed
- Fix
io
feature offutures-util
missing from dependencies, causing a compile error if the feature was not being implicitly enabled by some other dependency (like dev dependencies). (#10, #11) @ignatenkobrain
Dependency optimizations
Changed
- Do not require default features for
futures-util
since we do not use them. (#7) @jakobhellermann
Futures upgrade
Changed
- Upgraded from futures-preview to futures 0.3. This is a breaking change.
Bugfix for reading closed pipes
Fixed
- Fix a bug where reading from a pipe after already returning EOF would cause a panic. This was caused by
Stream::poll_next
used internally in the chunked implementation panicking after returning the final stream item, which it is allowed to do according to the current documentation. (#6)
Minor optimizations
Improvements
- Sluice now only depends on the futures sub-crates that it actually uses.
- Add a slight optimization to the chunked pipe writer that checks if the pipe is closed first before writing. Before the optimization, we were first copying the entire write buffer to the pipe, and then discovering that the pipe is closed and returning an error.
Implement Debug for reader and writer
Added
- Added
Debug
implementations forPipeReader
andPipeWriter
.
BrokenPipe error on writer drop
Fixed
- Fix an issue where dropping the writer while some data still remained in the pipe caused the reader to return a
BrokenPipe
error instead of allowing you to drain the bytes in the pipe until empty.