Module futures_util::io
source · [−]Expand description
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.
Re-exports
pub use std::io::Error;
pub use std::io::ErrorKind;
pub use std::io::IoSlice;
pub use std::io::IoSliceMut;
pub use std::io::Result;
pub use std::io::SeekFrom;
Structs
A simple wrapper type which allows types which implement only
implement std::io::Read
or std::io::Write
to be used in contexts which expect an AsyncRead
or AsyncWrite
.
The BufReader
struct adds buffering to any reader.
Wraps a writer and buffers its output.
Future for the copy_buf()
function.
Future for the [copy_buf()
] function.
Wrap a writer, like BufWriter
does, but prioritizes buffering lines
Future for the read_exact
method.
The readable half of an object returned from AsyncRead::split
.
Future for the read_to_end
method.
Future for the read_to_string
method.
Future for the read_until
method.
Future for the read_vectored
method.
Error indicating a ReadHalf<T>
and WriteHalf<T>
were not two halves
of a AsyncRead + AsyncWrite
, and thus could not be reunite
d.
Future for the BufReader::seek_relative
method.
A owned window around an underlying buffer.
The writable half of an object returned from AsyncRead::split
.
Future for the write_vectored
method.
Traits
Read bytes asynchronously.
An extension trait which adds utility methods to AsyncBufRead
types.
Read bytes asynchronously.
An extension trait which adds utility methods to AsyncRead
types.
Seek bytes asynchronously.
An extension trait which adds utility methods to AsyncSeek
types.
Write bytes asynchronously.
An extension trait which adds utility methods to AsyncWrite
types.
Functions
Creates a future which copies all the bytes from one object to another.
Creates a future which copies all the bytes from one object to another.
Creates a future which copies all the bytes from one object to another, with its AbortHandle
.
Constructs a new handle to an empty reader.
Creates an instance of a reader that infinitely repeats one byte.
Creates an instance of a writer which will successfully consume all data.