Moves the point of adding error context to the net::addr module so that
we have access to the raw address input and can include it in the error
message.
This adds a new "verbose-errors" feature flag to async-std that enables
wrapping certain errors in structures with more context. As an example,
we use it in `fs::File::{open,create}` to add the given path to the
error message (something that is lacking in std to annoyance of many).
* Stream::merge does not end prematurely if one stream is delayed
* `cargo test` without features works
* Stream::merge works correctly for unfused streams
* Fix uds listener hanging on accept
UDS listener was hanging because the accept method would return
`Poll::Pending` without registering the task to be awoken in the case
when underlying unix listener returns a WouldBlock that gets converted
to None. This is a hacky fix for this case.
Should fix#248
* Test simulating uds ping-pong server/client
This one should reproduce #248 bug to prevent further regressions.
* Code review fixes
Previously all of the into_raw_fd implementations only returns a copy of
the inner RawFd, while still holding the ownership of the file
descriptor when returning for into_raw_fd. Since `self` is dropped at
the end of into_raw_fd, the returned file descriptor will actually be
closed, render the function unuseable.
The patch makes sure that into_raw_fd actually takes the ownership of
the file descriptor all the way from the inner IoHandle. To achieve
this, I have to use an Option in IoHandle to store the I/O source. It's
not pretty, but I cannot come up with a better way.
* Implement an async version of ToSocketAddrs
* fix documentation issue
* genius hack: pretending to be `impl Future`
* replace `std::net::ToSocketAddrs` with `async-std::net::ToSocketAddrs`
* Move unit tests into the tests directory
* Stylistic changes
* Remove re-exports in async_std::net
* fix broken link
* some mirror changes
* remove unnecessary format
* migrate: `std::net::ToSocketAddrs` -> `async_std::net::ToSocketAddrs`
* fix typo(tutorial)
* remove unnecessary type bound
* lifetime for future