Expand description
Asynchronous I/O.
This module is the asynchronous version of std::io
. It defines two
traits, AsyncRead
and
AsyncWrite
, which mirror the Read
and Write
traits of the standard library. However, these traits integrate with the
asynchronous task system, so that if an I/O object isn’t ready for
reading (or writing), the thread is not blocked, and instead the current
task is queued to be woken when I/O is ready.
In addition, the AsyncReadExt
and
AsyncWriteExt
extension traits offer a variety
of useful combinators for operating with asynchronous I/O objects,
including ways to work with them using futures, streams and sinks.
Structs§
- A simple wrapper type which allows types which implement only implement
std::io::Read
orstd::io::Write
to be used in contexts which expect anAsyncRead
orAsyncWrite
. - A future used to fully close an I/O object.
- A future which will copy all data from a reader into a writer.
- A future used to fully flush an I/O object.
- A type used to conditionally initialize buffers passed to
AsyncRead
methods, modeled afterstd
. - A specialized byte slice type for performing vectored I/O operations.
- A future which can be used to easily read available number of bytes to fill a buffer.
- A future which can be used to easily read exactly enough bytes to fill a buffer.
- The readable half of an object returned from
AsyncRead::split
. - A future which can be used to easily read the entire contents of a stream into a vector.
- A owned window around an underlying buffer.
- A future used to write the entire contents of some data to a stream.
- The writable half of an object returned from
AsyncRead::split
.
Enums§
- A list specifying general categories of I/O error.
Traits§
- Read bytes asynchronously.
- An extension trait which adds utility methods to
AsyncRead
types. - Write bytes asynchronously.
- An extension trait which adds utility methods to
AsyncWrite
types.
Type Aliases§
- A specialized
Result
type for I/O operations.