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§
- 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.
- FillBuf
- Future for the fill_bufmethod.
- Flush
- Future for the flushmethod.
- IntoSink 
- Sink for the into_sinkmethod.
- 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.
Traits§
- AsyncBufRead 
- Read bytes asynchronously.
- AsyncBufRead Ext 
- An extension trait which adds utility methods to AsyncBufReadtypes.
- AsyncRead 
- Read bytes asynchronously.
- AsyncRead Ext 
- An extension trait which adds utility methods to AsyncReadtypes.
- AsyncSeek 
- Seek bytes asynchronously.
- AsyncSeek Ext 
- An extension trait which adds utility methods to AsyncSeektypes.
- AsyncWrite 
- Write bytes asynchronously.
- AsyncWrite Ext 
- 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.