Commit Graph

1246 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
Yoshua Wuyts beb8d240c2
Merge pull request #688 from ninj/patch-1
fix syntax problem for task::sleep
5 years ago
ninj b258215952
fix syntax problem for task::sleep 5 years ago
Florian Gilcher 1ababac97f
Merge branch 'accept_loop_pattern' 5 years ago
Florian Gilcher f9fe5c90cf
Fix some typos in accept-loop pattern chapter 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
Florian Gilcher cad2880eb8
Merge pull request #550 from sclaire-1/master
Edit tutorial: implementing_a_client.md
5 years ago
Taiki Endo 6b860c370a Remove usage of unstable format_code_in_doc_comments option (#685) 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
nasa d283352a9a update broadcastor to 1.0.0 (#681) 5 years ago
Oleg Nosov ed248017b4
Use internal `scan` state in `Result`s implementation 5 years ago
Yoshua Wuyts 0eb5ca14ac
Merge pull request #676 from k-nasa/async_task_bump_to1.2.1
update async-task to 1.2.1
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 b72dd83726 update async-task to 1.2.1 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
Yoshua Wuyts 133e30e6f6
Merge pull request #615 from lqf96/pending-stream
Add an implementation of pending stream
5 years ago
nasa 76ed174fd5 Version up of dependent crate (#672) 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
Paul Colomiets 0029037883 async-listen crate: Add `error_hint()` invocation 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
Paul Colomiets c8c075615c book: Add Production-ready Accept Loop section
Part of the #658 work
5 years ago
Yoshua Wuyts 98d45f4be1
Merge pull request #647 from dignifiedquire/feat/unstable-without-default
feat: do not require default feature for unstable
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 1f78efec64
Merge pull request #660 from mehcode/mehcode-ecosystem
Showcase the ecosystem
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 57a62797f2
Merge pull request #655 from u32i64/patch-1
Fix crate documentation typo
5 years ago
Yoshua Wuyts dfb0c8124c
remove usage of deprecated method
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Ryan Leckey d806a09599 Add a section on the async ecosystem to showcase crates that use async-std 5 years ago
Alfie John af2d46d9b9 Tiny grammar fix 5 years ago
Artem Varaksa 65d7950df1
Fix crate documentation typo 5 years ago