Commit graph

866 commits

Author SHA1 Message Date
Yoshua Wuyts
d026c44ea3 Document the core feature
Follow-up to https://github.com/async-rs/async-std/pull/680
2020-02-04 11:07:50 +01:00
Yoshua Wuyts
125fa5b0a0
Merge pull request #680 from k-nasa/no_std
Some modules support no_std
2020-02-04 11:02:19 +01:00
k-nasa
0d90cb07b9 fix: Move extern crate alloc to lib.rs 2020-02-01 09:49:54 +09:00
Stjepan Glavina
1d875836a2
Implement Clone for TcpStream (#689)
* Implement Clone for TcpStream

* Update examples

* Remove accidentally added examples
2020-01-28 18:14:16 +01:00
k-nasa
7efe7caf66 fix: Change feature name no-std to alloc 2020-01-28 15:58:46 +09:00
k-nasa
22d929d481 fix import Future 2020-01-28 15:58:46 +09:00
k-nasa
d622ec5d35 feat: Make the stream module no_std 2020-01-28 15:58:46 +09:00
k-nasa
880b7ee987 remove crate::prelude import 2020-01-28 15:58:46 +09:00
k-nasa
1762de285b feat: Make the future module no_std 2020-01-28 15:58:46 +09:00
k-nasa
6aa55fde59 feat: Make the task module no_std 2020-01-28 15:58:46 +09:00
k-nasa
3d32fd81f4 feat: Make the utils module no_std 2020-01-28 15:58:46 +09:00
k-nasa
51b84a7620 feat: Add no_std attribute when not std feature 2020-01-28 15:58:46 +09:00
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.
2020-01-27 23:13:13 +01:00
Yoshua Wuyts
57f9fb7e93
Merge pull request #682 from k-nasa/impl_clone_for_dir_entry
Implement Clone trait for DirEntry
2020-01-27 13:10:20 +01:00
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`
2020-01-27 11:54:20 +01:00
Florian Gilcher
84fe94444b
Merge pull request #675 from k-nasa/add_timeout_example
Add stream::timeout example when timeout error
2020-01-21 16:02:28 +01:00
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.
2020-01-20 20:40:01 +01:00
k-nasa
2221441a4c feat: Implement Clone trait for DirEntry 2020-01-18 08:36:54 +09:00
Oleg Nosov
ed7ddacb28
Rewrote Results implementation using take_while and filter_map 2020-01-17 17:19:51 +03:00
Oleg Nosov
ed248017b4
Use internal scan state in Results implementation 2020-01-15 12:06:50 +03:00
Oleg Nosov
38de0bfd22
Use std::convert::identity 2020-01-15 09:43:01 +03:00
Oleg Nosov
134089af2c
Use filter_map(identity) + other fixes 2020-01-15 08:57:43 +03:00
k-nasa
ee102dfc9e docs: Add stream::timeout example when timeout error 2020-01-15 10:41:39 +09:00
nasa
1071e82132
Merge pull request #671 from Noah-Kennedy/udp-socket-send-doc
Fix docs for UdpSocket::send
2020-01-15 10:41:04 +09:00
noah
0a52864764 Revert "Fixes https://github.com/async-rs/async-std/issues/652"
This reverts commit a4f68066
2020-01-14 10:59:17 -06:00
noah
76993dd755 Revert "Fixes https://github.com/async-rs/async-std/issues/652"
This reverts commit a4f68066
2020-01-14 10:55:10 -06:00
k-nasa
f53fcbb706 test,docs: Add stream::pending example code 2020-01-14 10:18:14 +09:00
k-nasa
e9357c0307 style: Run cargo fmt 2020-01-14 09:49:34 +09:00
Qifan Lu
879e14c6ab Remove size_hint from Stream impl 2020-01-14 09:41:43 +09:00
Qifan Lu
f8dd3d9816 Add stream::pending::{pending, Pending} 2020-01-14 09:41:43 +09:00
noah
a4f6806605 Fixes https://github.com/async-rs/async-std/issues/652 2020-01-13 17:47:51 -06:00
Yoshua Wuyts
5d5064b871 add FromStream Result example (#643)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-01-13 21:42:31 +01:00
nasa
0ed0d63094 Remove unnecessary trait bound on FlatMap (#651)
* Remove unnecessary trait bound on FlatMap

* test: upgrade test code
2020-01-13 19:49:52 +01:00
Oleg Nosov
fb567a3a09
Recovered comments 2020-01-12 17:53:16 +03:00
Oleg Nosov
83afbab2ef
Use take_while instead of scan for Option 2020-01-12 17:35:57 +03:00
dignifiedquire
9c6ab5e7c3 fix 2020-01-11 11:57:42 +01:00
dignifiedquire
9c9ab90da3 feature gate random 2020-01-11 11:49:52 +01:00
dignifiedquire
5bf3d95313 feat: do not require default feature for unstable 2020-01-11 11:44:51 +01:00
Yoshua Wuyts
383057b8ea
Merge pull request #659 from alfiedotwtf/master
Tiny grammar fix
2020-01-07 17:09:49 +01:00
Yoshua Wuyts
763862acc7
Merge pull request #661 from async-rs/fix-ci
remove usage of deprecated Error method to fix CI
2020-01-07 17:09:03 +01:00
Yoshua Wuyts
e2bb79c207
Merge pull request #648 from spacekookie/master
Fixing inaccurate function description in udp::recv
2020-01-07 14:23:14 +01:00
Yoshua Wuyts
dfb0c8124c
remove usage of deprecated method
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-01-07 14:21:17 +01:00
Alfie John
af2d46d9b9 Tiny grammar fix 2020-01-07 13:29:30 +11:00
Artem Varaksa
65d7950df1
Fix crate documentation typo 2020-01-01 15:36:47 +03:00
Stefano Probst
c3d5dba1b5
Fix typo in stream documentation 2019-12-28 17:27:37 +01:00
Katharina Fey
081166f204
Fixing inaccurate function description in udp::recv 2019-12-27 03:06:41 +01:00
Yoshua Wuyts
b3942ecfa8
remove tokio mention
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-12-24 14:39:55 +01:00
nasa
0d4b4cd260
Merge pull request #600 from miker1423/future-timeout
Adding timeout extension method to Future trait
2019-12-20 14:26:52 +09:00
Miguel Pérez García
ef021dcb2b Changing test condition 2019-12-18 07:18:57 -06:00
Miguel Pérez García
eedf1d3367 Fixing docs 2019-12-17 23:17:02 -06:00