Skip to content

AsyncRead and AsyncWrite #5

@nrc

Description

@nrc

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 or async 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:

Smol re-exports the futures versions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-stdlibArea: a standard library for async Rust

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions