dignifiedquire
f5fa0d7e4e
avoid boxing futures
2020-05-02 20:27:50 +02:00
dignifiedquire
b96afc41dc
implement task locals
2020-05-02 20:27:50 +02:00
dignifiedquire
75ab7219df
bring back random
2020-05-02 20:27:50 +02:00
dignifiedquire
e082634b5e
fix spawning
2020-05-02 20:27:50 +02:00
dignifiedquire
fc9ee0dfdd
keep std::sync::Arc
2020-05-02 20:27:50 +02:00
dignifiedquire
1308fbdf55
switch to smol instead of an internal runtime
2020-05-02 20:27:50 +02:00
Friedel Ziegelmayer
b446cd0230
Merge pull request #748 from async-rs/fix/scheduler-2
...
fix(rt): bring back dynamic machines
2020-04-12 15:22:51 +02:00
Thayne McCombs
db438abb8f
Implement async_std::sync::Condvar ( #369 )
...
* Implement async_std::sync::Condvar
Part of #217
* More rigourous detection of notification for condvar
* Use state of Waker instead of AtomicUsize to keep track of if task was
notified.
* Add test for notify_all
* Implement wait_timeout_until
And add warnings about spurious wakeups to wait and wait_timeout
* Use WakerSet for Condvar
This should also address concerns about spurious wakeups.
* Add test for wait_timeout with no lock held
* Add comments describing AwaitNotify struct
And remove an unnneded comment in a Debug implementation
2020-04-12 13:35:18 +02:00
dignifiedquire
a4e07e345c
fix(rt): bring back dynamic machines
...
Even if we do not make use of the progress blocking, we do need to make use of the dynamic restarting of machines as far as I understand.
Keeps the perf, while removing the regression from #747
2020-04-10 02:22:03 +02:00
dignifiedquire
0c9a66c1f6
fix scheduler loop
...
This now matches more closely the logic as implemented in #631 , and fixes the performance regression as far as I have observed.
Closes #746
2020-04-09 17:02:27 +02:00
Friedel Ziegelmayer
fc4e472599
Merge pull request #733 from k-nasa/new-scheduler
...
New scheduler
2020-04-07 22:50:04 +02:00
k-nasa
088aa5662c
refactor: Remove wrapping cell
2020-04-03 13:38:07 +09:00
Devashish Dixit
68fa054517
Update futures-timer to 3.0.2
2020-03-30 19:30:00 +08:00
k-nasa
11ee2a8985
fix
2020-03-22 19:25:40 +09:00
k-nasa
322911142c
lock processor and remove unsafe Send, Sync
2020-03-22 19:20:01 +09:00
k-nasa
cfaec2aa95
re add spin_lock
2020-03-22 19:19:17 +09:00
k-nasa
6d3ca5a06f
remove poll function
2020-03-21 14:19:38 +09:00
k-nasa
f960776846
fix
2020-03-21 13:40:59 +09:00
k-nasa
24c5dbf949
Remove scheduler state
2020-03-20 23:13:20 +09:00
k-nasa
d7ee29a03f
fix test code
2020-03-19 19:16:12 +09:00
k-nasa
2b44c1be2e
refactor: swap to swap_and_compare
2020-03-19 18:41:00 +09:00
k-nasa
b1ec1ea930
Move Spinlock to sync module
2020-03-19 18:39:01 +09:00
k-nasa
2ab075d027
refactor
2020-03-19 11:50:19 +09:00
k-nasa
c0f18600cf
run ignored test
2020-03-18 23:07:07 +09:00
k-nasa
6c8237276b
fix doc test
2020-03-18 23:02:59 +09:00
k-nasa
98cbf7f8eb
Restore task::spawn_blocking
2020-03-17 20:54:16 +09:00
k-nasa
84e5c5f351
Merge branch 'master' into new-scheduler
2020-03-17 20:38:19 +09:00
Yoshua Wuyts
b7c7efc797
Update try_channel doctests
2020-03-16 00:05:39 +01:00
Yoshua Wuyts
7885c245c5
recverror
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
7b7b959a6e
mark channel errs as unstable
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
32dce319d3
expose try_recv and try_send on channels
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
49dd02b4de
Make the split struct public
2020-03-15 23:51:19 +01:00
Yoshua Wuyts
bb11c676a1
doctests pass
2020-03-15 23:46:36 +01:00
Yoshua Wuyts
e026b7579a
Merge pull request #703 from spacekookie/recv-docs
...
channel/recv: improving function docs and code example
2020-03-15 14:41:07 +01:00
k-nasa
8931d1464e
fix ci
2020-03-14 22:46:22 +09:00
nasa
cc19592f80
Revert "Stabilize most stream method and remove unnecessary macros"
2020-03-12 18:34:09 +09:00
k-nasa
b95bd6c1fe
fix: Remove unnecessary io modules
2020-03-05 10:34:41 +09:00
k-nasa
1e18839f1f
fix warning
2020-03-04 08:55:37 +09:00
k-nasa
f31878655e
fix: Stabilize stream method
2020-03-04 08:30:45 +09:00
k-nasa
9a62df143f
add whitespace
2020-03-03 23:14:25 +09:00
k-nasa
75223905bd
fix: Stabilize stream most method
2020-03-03 23:12:09 +09:00
k-nasa
be60dd9fe7
fix: Remove unnecessary re-export and macros
2020-03-03 22:50:26 +09:00
k-nasa
23b7c174f3
feat: Stabilize io::Std*Lock
2020-03-03 22:46:18 +09:00
k-nasa
bd60cd9f81
run cargo fmt
2020-02-20 09:03:36 +09:00
Yoshua Wuyts
d87e283215
Update src/lib.rs
2020-02-17 13:38:24 +01:00
Yoshua Wuyts
283a54a155
Update src/lib.rs
2020-02-17 13:36:59 +01:00
Yoshua Wuyts
3719484eba
Update src/lib.rs
...
Co-Authored-By: nasa <htilcs1115@gmail.com>
2020-02-17 13:36:23 +01:00
Katharina Fey
aae835cc14
channel/recv: improving function docs and code example
...
At the moment it's not clear when and why recv returns Option<T>,
instead of just T. This changed comment makes it clear that None will
only be returned once no data will ever be sent again (i.e. after all
senders are gone).
2020-02-12 01:38:20 +01:00
Oleg Nosov
d7cab38b67
core
=> std
2020-02-08 15:49:01 +03:00
Oleg Nosov
32068942a6
Fixed flatten
2020-02-08 15:44:25 +03:00
Oleg Nosov
303ac90b7c
Fixed flat_map
2020-02-07 22:12:42 +03:00
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 Result
s implementation using take_while
and filter_map
2020-01-17 17:19:51 +03:00
Oleg Nosov
ed248017b4
Use internal scan
state in Result
s 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