Commit Graph

969 Commits (e495ba46b32c9ad9df29a0ca97558d2779e3ab5c)

Author SHA1 Message Date
Oleg Nosov 303ac90b7c
Fixed `flat_map` 5 years ago
Yoshua Wuyts d026c44ea3 Document the core feature
Follow-up to https://github.com/async-rs/async-std/pull/680
5 years ago
Yoshua Wuyts 125fa5b0a0
Merge pull request #680 from k-nasa/no_std
Some modules support no_std
5 years ago
k-nasa 0d90cb07b9 fix: Move `extern crate alloc` to lib.rs 5 years ago
Stjepan Glavina 1d875836a2
Implement Clone for TcpStream (#689)
* Implement Clone for TcpStream

* Update examples

* Remove accidentally added examples
5 years ago
k-nasa 7efe7caf66 fix: Change feature name no-std to alloc 5 years ago
k-nasa 22d929d481 fix import Future 5 years ago
k-nasa d622ec5d35 feat: Make the stream module no_std 5 years ago
k-nasa 880b7ee987 remove crate::prelude import 5 years ago
k-nasa 1762de285b feat: Make the future module no_std 5 years ago
k-nasa 6aa55fde59 feat: Make the task module no_std 5 years ago
k-nasa 3d32fd81f4 feat: Make the utils module no_std 5 years ago
k-nasa 51b84a7620 feat: Add no_std attribute when not std feature 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
Stjepan Glavina ceba324bef Fix feature flags 5 years ago
Stjepan Glavina 36d24cd0e1 New scheduler resilient to blocking 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
Yoshua Wuyts b7e55762d8
upgrade log, remove kv-log-macro
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Yoshua Wuyts c70552ead5
unpub double_ended_stream
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Fenhl 07eb2c1280
Make WriteFmtFuture must_use
Fixes #627. Thanks to @jebrosen for pointing out the location of the issue.
5 years ago
Gary Guo 732ef10f98 Make code compile 5 years ago
Gary Guo 499a44ab3b Use ?Sized in Mutex and RwLock 5 years ago
Yoshua Wuyts 761029cd08
fix stream doc hiccup
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Yoshua Wuyts 83a488b290
Merge pull request #597 from k-nasa/fix_doc_test
Fix failed doc test and enable doc test on CI
5 years ago
Yoshua Wuyts 96d6fc43d6
Merge pull request #618 from twittner/poll_close_shutdown
TcpStream: Shutdown write direction in poll_close.
5 years ago
Miguel Pérez García 8de9f9b8e1 Merge branch 'future-timeout' of https://github.com/miker1423/async-std into future-timeout 5 years ago
Felipe Sere 182fe6896f No need for a custom impl for FromIter for DoubleEndedStream 5 years ago
Felipe Sere b0038e11be Only implement the DoubleEndedStream for once when the flag is on 5 years ago
Felipe Sere 8e5dedec34 Restructure package. No longer use a extension trait to match std.
Still outstanding: How do I hide the concrete structs from the trait?
5 years ago
Felipe Sere 41cf0f855b Make Once a DoubleEndedStream 5 years ago
Felipe Sere f9a4c35fd6 Silence warning about missing docs for the double_ended module 5 years ago
Felipe Sere 6e8236d0e1 Document from_iter for DoubleEndedStream 5 years ago
Felipe Sere 892c6008c2 Replace sample with a hidden from_iter implementation for double-ended-stream 5 years ago
Felipe Sere abd360893c Disable docs and Debug for unexposed structs 5 years ago
Felipe Sere 94893d2924 Move more of the documentation 5 years ago
Felipe Sere 02aa2f3d2a Fix next_back 5 years ago
Felipe Sere ee2f52f3ce Add next_back 5 years ago
Felipe Sere 55194edbf7 Add try_rfold 5 years ago
Felipe Sere c4b9a7f680 Add samples for some of the functions 5 years ago
Felipe Sere aabfefd015 Add a sample implementation of a double ended stream 5 years ago
Felipe Sere cc493df433 Sketch out rfold 5 years ago
Felipe Sere 78bafbb88f Sketch outch rfind 5 years ago
Felipe Sere d0ef48c753 Sketch out nth_back 5 years ago
Felipe Sere fa288931c6 Skeleton for DoubleEndedStreamExt trait 5 years ago
Toralf Wittner c90732a805 TcpStream: Shutdown write direction in poll_close.
Fixes #599.
5 years ago
Yoshua Wuyts a0f3b3b753 Remove unused macros (#610)
* replace async-macros with internals only

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* clean up MaybeDone

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* inline futures_core::ready

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* remove big commented blob

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Tomasz Miąsko f06ab9fbc4 Remove mention of task stack size configuration (#612) 5 years ago
Miguel Pérez García 33e7c87dfc Adding example to docs 5 years ago
Miguel Pérez García c14c377974 Changing method signature 5 years ago
Miguel Pérez García 54fa559554 Changing scope of disclosure 5 years ago
Bryant Luk fd86effb63
Change recv_from to recv in UdpSocket::recv doc 5 years ago
nasa 128a6bc6ce
Merge pull request #598 from povilasb/fix/docs
Fix a link in the docs
5 years ago
Yoshua Wuyts d51a135015
Merge pull request #309 from async-rs/stream-delay
Stream::delay
5 years ago
Miguel Pérez García 1c2055fff0 Merge remote-tracking branch 'original/master' into future-timeout 5 years ago
Povilas Balciunas 81e3c41826 Fix a link in the docs 5 years ago
k-nasa fb1fb6c903 test: Test the delay time 5 years ago
k-nasa fe04cf26b6 test: fix stream::throttle doc test 5 years ago
k-nasa 556d7992ce test: fix failed doc test 5 years ago
k-nasa da965e9ba4 fix indent 5 years ago
k-nasa 9f7c1833dc fix module 5 years ago
Yoshua Wuyts 68005661d9 fix Stream::throttle hot loop (#584)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
nasa 794e331761 Refactor join type (#577)
* refactor: update future join type

* test: update future join test

* update future::try_join
5 years ago
k-nasa 32765ece41 test: Add stream::delay test code 5 years ago
k-nasa 635c592950 feat: Add stream::delay 5 years ago
k-nasa 3b055f364e Merge branch 'master' into stream-delay 5 years ago
Yoshua Wuyts 46cafffc31
Merge pull request #571 from killercup/more-errors
Add context to more errors
5 years ago
boats 0f30ab8c0a Fix the docs and Debug output of BufWriter. (#588)
The BufWriter docs inaccurately stated that it flushes on drop, which it does
not do. This PR changes the docs, as well as the example, to highlight that
the user must explicitly flush a bufwriter.

There were also two places where the BufWriter code referred to it as a
BufReader: in the link to the std docs, and in the Debug output. Those have
also been fixed.
5 years ago
Pascal Hertleif 56538ebd91 Improve verbose errors for socket addresses
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.
5 years ago
Pascal Hertleif aa7d1c27a4
Verbose errors: Apply suggestions
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
5 years ago
Yoshua Wuyts 850b8ae9d0
Merge pull request #543 from k-nasa/stream_unzip
Add stream unzip
5 years ago
Miguel Pérez García c1f7be5d42 Adding timeout extension method to Future trait 5 years ago
Yoshua Wuyts c9a2e74789
Merge pull request #523 from async-rs/update-lib-example
polish lib.rs examples
5 years ago
Yoshua Wuyts cffacf7fa3
feedback from review
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
Yoshua Wuyts 02e1d7e5ea
Merge pull request #574 from stjepang/ignore-unread-errors
Ignore seek errors in poll_unread
5 years ago
laizy ec5415358f simplify AllFuture and AnyFuture (#572) 5 years ago
Stjepan Glavina 16edec3464 Ignore seek errors in poll_unread 5 years ago
Pascal Hertleif e01f07d72a Add context to more errors
cc #569
5 years ago
Yoshua Wuyts b3d30de4a1 mark windows fs APIs as "unstable" (#567)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
5 years ago
nasa d146d95a39
Update src/stream/stream/mod.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
5 years ago
Stjepan Glavina 5fba3a0928 Fix rng use in Stream::merge 5 years ago
Yoshua Wuyts 2ca03cabe6
Merge pull request #552 from hhggit/win_symlink
add os::windows::symlink_{dir,file}
5 years ago
hhggit 72ed4eb4fd
Update mod.rs 5 years ago
Yoshua Wuyts 77800ab3f9
Merge pull request #526 from yjhmelody/refactor-dir
refactor io dir to be same with std and export IntoInnerError
5 years ago
Yoshua Wuyts 8ea920c9f0
Merge pull request #546 from k-nasa/fix_clippy
Fix clippy warn
5 years ago
Yoshua Wuyts d1189f9974
Merge pull request #548 from yjhmelody/fix-stream-code-style
fix stream code style
5 years ago
Yoshua Wuyts 3f8ec5a007
Merge pull request #551 from killercup/feature/verbose-errors
verbose errors feature
5 years ago
nasa 3bc4d293dd
Merge pull request #503 from Razican/random_merge
Randomize Stream::merge to improve the throughput.
5 years ago
razican 72ca2c1a24
Improved the code with some minor changes 5 years ago
k-nasa b5e66c4f93 refactor: Refactoring option type handling 5 years ago
k-nasa 080875edc9 update min_by_key doc 5 years ago
k-nasa ca71ad073b fix stream min_by_key mistake 5 years ago
k-nasa 667bbc1019 doc: update doc test 5 years ago
k-nasa 64b2e10b93 fix max_by_key mistake 5 years ago
k-nasa 314a75da28 fix typo 5 years ago
Pascal Hertleif c704643296 Remove verbose-errors cargo feature 5 years ago
Yoshua Wuyts c6622475b2
Merge pull request #555 from stjepang/optimize-cargo-check
Macro optimization to reduce compilation times
5 years ago
Stjepan Glavina 65afd41a33
Once doesn't need Unpin bound (#554) 5 years ago
Stjepan Glavina d3e7f32a30 Macro optimization to reduce compilation times 5 years ago
Razican f6829859fe
Fixed deduplication of code 5 years ago
hhggit 2c9b558d14 add os::windows::symlink_{dir,file} 5 years ago
Pascal Hertleif 99ddfb3f93 Wrap code more clearly in cfg blocks 5 years ago
Pascal Hertleif 8ce3e78952 verbose errors feature
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).
5 years ago
yjhmelody 223fcc30ee fix code style for stream 5 years ago