generated from rust-lang/initiative-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
A-stdlibArea: a standard library for async RustArea: a standard library for async Rust
Description
Tracking issue for work on AsyncRead and AsyncWrite. The eventual goal is that we have a single, standardised version of these traits in std which are used by all (or at least most mainstream) async runtimes.
Known technical issues:
- should these traits use
poll_read
/poll_write
functions orasync fn read
/async fn write
- how to handle writing to uninitialised memory in
AsyncRead
- how to simultaneously read and write
- how to do vectored IO
- working in no_std scenarios (I believe this only requires moving the
Error
trait to libcore, which is work in progress - ensuring these traits work well as trait objects
- using async drop for shutdown?
There are also several closely related traits such as AsyncSeek
, and in various libraries, extension traits and AsyncBufRead
.
Current implementations:
- Tokio: AsyncRead AsyncWrite
- Futures: AsyncRead AsyncWrite
- Futures-lite: AsyncRead AsyncWrite
- Async-std: Read Write
Smol re-exports the futures versions.
Xuanwo, seanchen1991, rwestphal, NobodyXu, zyansheep and 4 moreTennyZhuang, tux3, vincenzopalazzo, zyansheep, jmjoy and 2 more
Metadata
Metadata
Assignees
Labels
A-stdlibArea: a standard library for async RustArea: a standard library for async Rust