bors[bot]
a8a2ae9e29
Merge #157
...
157: More robust file implementation r=stjepang a=stjepang
This is a reimplementation of the `File`s state machine.
The previous implementation was simple and a bit naive. It was not fundamentally wrong but had surprises in some corner cases. For example, if an async read operation was started but we timed out on it, the file cursor would move even though we didn't complete the operation. The new implementation will move the cursor only when read/write operations complete successfully.
There was also a deadlock hazard in the case where multiple tasks were concurrently reading or writing to the same file, in which case some task wakeups would be lost. This PR fixes the problem.
A nice consequence of this PR: `futures-channel` is now unused, so we can remove it from the dependency list.
Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
2019-09-08 08:44:17 +00:00
Stjepan Glavina
6ed0e857fd
Fix some typos, expand comments
2019-09-08 10:43:47 +02:00
bors[bot]
cc9e078d1b
Merge #160
...
160: add io::prelude r=stjepang a=yoshuawuyts
I was working on some async io code earlier, and ended up writing:
```rust
use async_std::io::{BufReader, BufRead, Read};
```
It took a bit of trial and error to get the right traits in scope, and I kind of wished I had `io::prelude` available so it would *just work*. Which is why this patch adds `io::prelude`. I guess I'm kind of circling back on the idea of only having a single prelude; but overall I think this feels more intuitive. Thanks!
## Screenshots



Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-08 08:18:08 +00:00
Yoshua Wuyts
ec1f33fe62
inline better
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-08 02:03:09 +02:00
Yoshua Wuyts
b1d85ab460
add io::prelude
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-08 01:55:39 +02:00
Stjepan Glavina
17c95a39d7
More robust file implementation
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-07 23:17:20 +02:00
Yoshua Wuyts
98d9284e64
disable mdbook to allow tests to pass again ( #159 )
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-07 23:11:20 +02:00
Florian Gilcher
f27f927d1d
Merge pull request #156 from montekki/fs-fix-153
...
append doc example for io::buf_read::read_until
2019-09-07 00:03:42 +02:00
Fedor Sakharov
91a66c2d94
append doc example for io::buf_read::read_until
2019-09-06 21:58:53 +03:00
Atul Bhosale
5d73776c69
Use the latest toolchain with rustfmt available if rustfmt is unavailable on the latest nightly ( #155 )
2019-09-06 20:03:26 +02:00
Florian Gilcher
481002ee71
Merge pull request #152 from montekki/fs-fix-buf-read-docs
...
fixes docs for io::buf_read::read_until
2019-09-06 17:20:43 +02:00
Fedor Sakharov
a2c2413bc5
fixes docs for io::buf_read::read_until
2019-09-06 17:45:24 +03:00
Fedor Sakharov
7e3599a6a5
add stream::min_by method ( #146 )
...
* add stream::min_by method
* Update src/stream/stream.rs
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2019-09-06 12:08:51 +02:00
Stjepan Glavina
bac74c2d7f
Reduce dependency on futures crate ( #140 )
...
* Add future::poll_fn
* Replace all uses of poll_fn with the new one
* Remove some uses of futures
* Simplify ReadDir and DirEntry
* Remove some use of futures from File
* Use futures subcrates
* Fix imports in docs
* Remove futures-util dependency
* Remove futures-executor-preview
* Refactor
* Require more features in the futures-preview crate
2019-09-05 01:22:41 +02:00
Aleksey Kladov
75a4ba80cc
Merge pull request #144 from matklad/move-a-chat
...
move a-chat tutorial's code to this repo
2019-09-04 21:46:43 +03:00
Aleksey Kladov
5b96fa9daa
move a-chat tutorial's code to this repo
2019-09-04 21:25:54 +03:00
DCjanus
238a3c882b
Implement an async version of ToSocketAddrs ( #74 )
...
* Implement an async version of ToSocketAddrs
* fix documentation issue
* genius hack: pretending to be `impl Future`
* replace `std::net::ToSocketAddrs` with `async-std::net::ToSocketAddrs`
* Move unit tests into the tests directory
* Stylistic changes
* Remove re-exports in async_std::net
* fix broken link
* some mirror changes
* remove unnecessary format
* migrate: `std::net::ToSocketAddrs` -> `async_std::net::ToSocketAddrs`
* fix typo(tutorial)
* remove unnecessary type bound
* lifetime for future
2019-09-04 20:09:49 +02:00
Stjepan Glavina
1f7f318c36
Add bors.toml
2019-09-04 19:32:47 +02:00
Roman Proskuryakov
dde4b89369
Make Travis cfg pretty and modular ( #118 )
2019-09-03 09:09:05 +02:00
Shady Khalifa
bff10fe83b
Stream::any implementation ( #135 )
...
* add stream::any method
* use `ret` macro and small improvements
* fix docs return type in `ret` macro
2019-09-01 19:58:16 +02:00
Yuki Okushi
532c73cf77
Fix typo in stability-guarantees.md ( #136 )
2019-08-31 16:15:26 +02:00
James Munns
e99eafe64f
Merge pull request #132 from shekohex/stream-all-method
...
Stream::all implementation
2019-08-31 13:10:02 +02:00
Jason Davies
a4d2cd1c82
Fix typo. ( #134 )
2019-08-31 11:36:34 +02:00
Shady Khalifa
e517c60fb1
remove comments
2019-08-30 20:32:03 +02:00
Shady Khalifa
e8860454e7
remove extra newline
...
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2019-08-30 20:30:48 +02:00
Stjepan Glavina
38a86766d3
Add future::timeout() ( #20 )
...
* Add future::timeout()
* Update src/future/timeout.rs
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
* Update src/future/timeout.rs
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
* Put futues::timeout behind unstable feature
2019-08-30 20:28:49 +02:00
Shady Khalifa
243a48c14e
remove debug
2019-08-30 18:37:58 +02:00
Shady Khalifa
fe45ba5628
update docs and examples
2019-08-30 18:35:51 +02:00
Shady Khalifa
3b80165532
add stream::all method
2019-08-30 17:42:35 +02:00
Roman Proskuryakov
374f0c9eb8
Refactor TcpStream::connect into resolving loop and TcpStream::connect_to ( #119 )
2019-08-28 22:09:15 +02:00
James Munns
c6e4c659c4
Restore Version Sort ( #121 )
...
Since we only build the book on Linux for now, restore the `--version-sort` flag for gnu sort. This makes me feel better that when sorting numbering oddities (e.g. multiple digits) will be handled correctly.
This was removed when I was trying to get this script to work on Windows and OSX, which is no longer relevant.
2019-08-28 17:16:02 +02:00
Florian Gilcher
d89b384620
Merge pull request #116 from async-rs/install-mdbook-bin
...
Implement installation using trust
2019-08-27 10:30:08 -07:00
James Munns
192c9683d9
Correct boolean inversion and overrided env vars
2019-08-27 16:45:32 +02:00
James Munns
b39c720681
Only install mdbook if building the book
2019-08-27 16:41:31 +02:00
James Munns
b6c8186846
Don't use version sort (bsd sort doesn't seem to have it)
2019-08-27 16:06:51 +02:00
James Munns
e0212e5229
Don't install cargo-update at all
2019-08-27 15:59:28 +02:00
James Munns
f5823df70c
Include modified trust file
2019-08-27 15:52:55 +02:00
James Munns
eba85c3ede
Fix regex, also install cargo-update with trust
2019-08-27 15:33:46 +02:00
James Munns
de62620460
Implement installation using trust
2019-08-27 15:23:34 +02:00
Roman Proskuryakov
8dff8951a6
Reduce io::TimeoutFuture to futures_timer::TryFutureExt ( #113 )
2019-08-27 11:47:15 +02:00
Florian Gilcher
d501bf6849
Merge pull request #112 from async-rs/fix-101
...
Import HashMap visibly in the tutorial
2019-08-26 16:04:33 -07:00
Florian Gilcher
366546b9ce
Visibly import in tasks example
...
Fixes #97
2019-08-26 14:39:25 -07:00
Florian Gilcher
b768a7bab7
Don't trim msg twice
...
Fixes #102
2019-08-26 14:35:57 -07:00
Florian Gilcher
bfaa9c510c
Import HashMap visibly in the tutorial
...
Fixes #101
2019-08-26 14:33:11 -07:00
Florian Gilcher
5c17185464
Merge branch 'master' of github.com:async-std/async-std
2019-08-26 14:24:56 -07:00
Florian Gilcher
101979fcc3
Fix some final errors
2019-08-26 14:24:20 -07:00
Florian Gilcher
b2fc92e5d6
Merge branch 'book-test' of https://github.com/freebroccolo/async-std into freebroccolo-book-test
2019-08-26 14:12:22 -07:00
Florian Gilcher
a14b11c032
Merge pull request #111 from dfrankland/expose-fs-create_dir_all
...
Expose fs::create_dir_all
2019-08-26 13:38:00 -07:00
Florian Gilcher
23683363f2
Merge pull request #95 from kpp/add_tests_io_timeout
...
add tests for io::timeout
2019-08-26 13:37:38 -07:00
Dylan Frankland
d47f7d3e92
rustfmt fs::create_dir_all
2019-08-26 12:59:30 -07:00