Commit Graph

855 Commits (1d875836a2302681a395ee44512a518f0222da4a)

Author SHA1 Message Date
Stjepan Glavina 1d875836a2
Implement Clone for TcpStream (#689)
* Implement Clone for TcpStream

* Update examples

* Remove accidentally added examples
5 years ago
Toralf Wittner 57974ae0b7 Use non-blocking connect for TcpStream. (#687)
* Use non-blocking connect for TcpStream.

Instead of spawning a background thread which is unaware of any timeouts
but continues to run until the TCP stack decides that the remote is not
reachable we use mio's non-blocking connect.

mio's `TcpStream::connect` returns immediately but the actual connection
is usually just in progress and we have to be sure the socket is
writeable before we can consider the connection as established.

* Add Watcher::{poll_read_ready, poll_write_ready}.

Following a suggestion of @stjepang we offer methods to check for
read/write readiness of a `Watcher` instead of the previous approach to
accept a set of `Waker`s when registering an event source. The changes
relative to master are smaller and both methods look more useful in
other contexts. Also the code is more robust w.r.t. wakeups of the
`Waker` from clones outside the `Reactor`.

I am not sure if we need to add protection mechanisms against spurious
wakeups from mio. Currently we treat the `Poll::Ready(())` of
`Watcher::poll_write_ready` as proof that the non-blocking connect has
finished, but if the event from mio was a spurious one, it might still
be ongoing.
5 years ago
Yoshua Wuyts 57f9fb7e93
Merge pull request #682 from k-nasa/impl_clone_for_dir_entry
Implement Clone trait for DirEntry
5 years ago
Yoshua Wuyts 6c1b5eb3ed
Merge pull request #667 from olegnn/option_take_while
Use `take_while` instead of `scan` in `impl` of `Product`, `Sum` and `FromStream` for `Option` and `Result`
5 years ago
Florian Gilcher 84fe94444b
Merge pull request #675 from k-nasa/add_timeout_example
Add stream::timeout example when timeout error
5 years ago
Katharina Fey 81aa6d152a Changing task::block_on to park after a single poll (#684)
This was previously discussed in #605 and others as a source of high
CPU load when sleeping tasks because of the overhead created by
retrying a future in short succession.
5 years ago
k-nasa 2221441a4c feat: Implement Clone trait for DirEntry 5 years ago
Oleg Nosov ed7ddacb28
Rewrote `Result`s implementation using `take_while` and `filter_map` 5 years ago
Oleg Nosov ed248017b4
Use internal `scan` state in `Result`s implementation 5 years ago
Oleg Nosov 38de0bfd22
Use `std::convert::identity` 5 years ago
Oleg Nosov 134089af2c
Use `filter_map(identity)` + other fixes 5 years ago
k-nasa ee102dfc9e docs: Add stream::timeout example when timeout error 5 years ago
nasa 1071e82132
Merge pull request #671 from Noah-Kennedy/udp-socket-send-doc
Fix docs for UdpSocket::send
5 years ago
noah 0a52864764 Revert "Fixes https://github.com/async-rs/async-std/issues/652"
This reverts commit a4f68066
5 years ago
noah 76993dd755 Revert "Fixes https://github.com/async-rs/async-std/issues/652"
This reverts commit a4f68066
5 years ago
k-nasa f53fcbb706 test,docs: Add stream::pending example code 5 years ago
k-nasa e9357c0307 style: Run `cargo fmt` 5 years ago
Qifan Lu 879e14c6ab Remove size_hint from Stream impl 5 years ago
Qifan Lu f8dd3d9816 Add stream::pending::{pending, Pending} 5 years ago
noah a4f6806605 Fixes https://github.com/async-rs/async-std/issues/652 5 years ago
Yoshua Wuyts 5d5064b871 add FromStream Result example (#643)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
nasa 0ed0d63094 Remove unnecessary trait bound on FlatMap (#651)
* Remove unnecessary trait bound on FlatMap

* test: upgrade test code
5 years ago
Oleg Nosov fb567a3a09
Recovered comments 5 years ago
Oleg Nosov 83afbab2ef
Use `take_while` instead of `scan` for `Option` 5 years ago
dignifiedquire 9c6ab5e7c3 fix 5 years ago
dignifiedquire 9c9ab90da3 feature gate random 5 years ago
dignifiedquire 5bf3d95313 feat: do not require default feature for unstable 5 years ago
Yoshua Wuyts 383057b8ea
Merge pull request #659 from alfiedotwtf/master
Tiny grammar fix
5 years ago
Yoshua Wuyts 763862acc7
Merge pull request #661 from async-rs/fix-ci
remove usage of deprecated Error method to fix CI
5 years ago
Yoshua Wuyts e2bb79c207
Merge pull request #648 from spacekookie/master
Fixing inaccurate function description in udp::recv
5 years ago
Yoshua Wuyts dfb0c8124c
remove usage of deprecated method
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Alfie John af2d46d9b9 Tiny grammar fix 5 years ago
Artem Varaksa 65d7950df1
Fix crate documentation typo 5 years ago
Stefano Probst c3d5dba1b5
Fix typo in stream documentation 5 years ago
Katharina Fey 081166f204
Fixing inaccurate function description in udp::recv 5 years ago
Yoshua Wuyts b3942ecfa8
remove tokio mention
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
nasa 0d4b4cd260
Merge pull request #600 from miker1423/future-timeout
Adding timeout extension method to Future trait
5 years ago
Miguel Pérez García ef021dcb2b Changing test condition 5 years ago
Miguel Pérez García eedf1d3367 Fixing docs 5 years ago
Miguel Pérez García 97b4901b75 Fixing tests 5 years ago
Miguel Pérez García 1eeb1019e9 Fixing example 5 years ago
Miguel Pérez García 980a1f7834 Correcting docs on function 5 years ago
nasa d8befe24e8
Revert "upgrade log, remove kv-log-macro" 5 years ago
Florian Gilcher c7cf1934db
Merge pull request #629 from async-rs/update-log
upgrade log, remove kv-log-macro
5 years ago
k-nasa 43f4f393af fix missing export for the return value 5 years ago
Yoshua Wuyts 61eb52cb36
Merge pull request #625 from nbdd0121/sync_unsized
Use ?Sized in Mutex and RwLock
5 years ago
Yoshua Wuyts 6f4dcad6a0
Merge pull request #630 from async-rs/fix-ci-2
fix ci
5 years ago
Yoshua Wuyts 60de8e1082
up time limits
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Yoshua Wuyts cac4e081cc
Merge pull request #628 from fenhl/patch-1
Make WriteFmtFuture must_use
5 years ago
Yoshua Wuyts 8ad1d23116
fix ci
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago