Module io
Asynchronous I/O.
This module is the asynchronous version of std::io. It defines four
traits, AsyncRead, AsyncWrite, AsyncSeek, and AsyncBufRead,
which mirror the Read, Write, Seek, and BufRead 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, AsyncWriteExt, AsyncSeekExt, and
AsyncBufReadExt 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.
This module is only available when the std feature of this
library is activated, and it is activated by default.
Structs
-
AllowStdIo
A simple wrapper type which allows types which implement only
implement
std::io::Readorstd::io::Writeto be used in contexts which expect anAsyncReadorAsyncWrite. -
BufReader
The
BufReaderstruct adds buffering to any reader. - BufWriter Wraps a writer and buffers its output.
-
Chain
Reader for the
chainmethod. -
Close
Future for the
closemethod. -
Copy
Future for the [
copy()] function. -
CopyBuf
Future for the [
copy_buf()] function. -
CopyBufAbortable
Future for the [
copy_buf_abortable()] function. -
Cursor
A
Cursorwraps an in-memory buffer and provides it with aAsyncSeekimplementation. -
Empty
Reader for the [
empty()] function. - Error
-
FillBuf
Future for the
fill_bufmethod. -
Flush
Future for the
flushmethod. -
IntoSink
Sink for the
into_sinkmethod. - IoSlice
- IoSliceMut
-
LineWriter
Wrap a writer, like
BufWriterdoes, but prioritizes buffering lines -
Lines
Stream for the
linesmethod. -
Read
Future for the
readmethod. -
ReadExact
Future for the
read_exactmethod. -
ReadHalf
The readable half of an object returned from
AsyncRead::split. -
ReadLine
Future for the
read_linemethod. -
ReadToEnd
Future for the
read_to_endmethod. -
ReadToString
Future for the
read_to_stringmethod. -
ReadUntil
Future for the
read_untilmethod. -
ReadVectored
Future for the
read_vectoredmethod. -
Repeat
Reader for the [
repeat()] function. -
ReuniteError
Error indicating a
ReadHalf<T>andWriteHalf<T>were not two halves of aAsyncRead + AsyncWrite, and thus could not bereunited. -
SeeKRelative
Future for the
BufReader::seek_relativemethod. -
Seek
Future for the
seekmethod. -
Sink
Writer for the [
sink()] function. -
Take
Reader for the
takemethod. - Window An owned window around an underlying buffer.
-
Write
Future for the
writemethod. -
WriteAll
Future for the
write_allmethod. -
WriteHalf
The writable half of an object returned from
AsyncRead::split. -
WriteVectored
Future for the
write_vectoredmethod.
Enums
Traits
- AsyncBufRead
-
AsyncBufReadExt
An extension trait which adds utility methods to
AsyncBufReadtypes. - AsyncRead
-
AsyncReadExt
An extension trait which adds utility methods to
AsyncReadtypes. - AsyncSeek
-
AsyncSeekExt
An extension trait which adds utility methods to
AsyncSeektypes. - AsyncWrite
-
AsyncWriteExt
An extension trait which adds utility methods to
AsyncWritetypes.
Functions
- copy Creates a future which copies all the bytes from one object to another.
- copy_buf Creates a future which copies all the bytes from one object to another.
-
copy_buf_abortable
Creates a future which copies all the bytes from one object to another, with its
AbortHandle. - empty Constructs a new handle to an empty reader.
- repeat Creates an instance of a reader that infinitely repeats one byte.
- sink Creates an instance of a writer which will successfully consume all data.