[−][src]Module tokio::io
Asynchronous I/O.
This module is the asynchronous version of std::io
. Primarily, it
defines two traits, AsyncRead
and AsyncWrite
, which extend the
Read
and Write
traits of the standard library.
AsyncRead and AsyncWrite
AsyncRead
and AsyncWrite
must only be implemented for
non-blocking I/O types that integrate with the futures type system. In
other words, these types must never block the thread, and instead the
current task is notified when the I/O resource is ready.
Standard input and output
Tokio provides asynchronous APIs to standard input, output, and error.
These APIs are very similar to the ones provided by std
, but they also
implement AsyncRead
and AsyncWrite
.
Unlike most other Tokio APIs, the standard input / output APIs must be used from the context of the Tokio runtime as they require Tokio specific features to function.
Utility functions
Utilities functions are provided for working with AsyncRead
/
AsyncWrite
types. For example, copy
asynchronously copies all
data from a source to a destination.
std
re-exports
Additionally, Read
, Write
, Error
, ErrorKind
, and
Result
are re-exported from std::io
for ease of use.
Structs
Copy | A future which will copy all data from a reader into a writer. |
Error | The error type for I/O operations of the |
Flush | A future used to fully flush an I/O object. |
Lines | Combinator created by the top-level |
ReadExact | A future which can be used to easily read exactly enough bytes to fill a buffer. |
ReadHalf | The readable half of an object returned from |
ReadToEnd | A future which can be used to easily read the entire contents of a stream into a vector. |
ReadUntil | A future which can be used to easily read the contents of a stream into a vector until the delimiter is reached. |
Shutdown | A future used to fully shutdown an I/O object. |
Stderr | A handle to the standard error stream of a process. |
Stdin | A handle to the standard input stream of a process. |
Stdout | A handle to the standard output stream of a process. |
WriteAll | A future used to write the entire contents of some data to a stream. |
WriteHalf | The writable half of an object returned from |
Enums
ErrorKind | A list specifying general categories of I/O error. |
Traits
AsyncRead | Read bytes asynchronously. |
AsyncWrite | Writes bytes asynchronously. |
Read | The |
Write | A trait for objects which are byte-oriented sinks. |
Functions
copy | Creates a future which represents copying all the bytes from one object to another. |
flush | Creates a future which will entirely flush an I/O object and then yield the object itself. |
lines | Creates a new stream from the I/O object given representing the lines of
input that are found on |
read | Tries to read some bytes directly into the given |
read_exact | Creates a future which will read exactly enough bytes to fill |
read_to_end | Creates a future which will read all the bytes associated with the I/O
object |
read_until | Creates a future which will read all the bytes associated with the I/O
object |
shutdown | Creates a future which will entirely shutdown an I/O object and then yield the object itself. |
stderr | Constructs a new handle to the standard error of the current process. |
stdin | Constructs a new handle to the standard input of the current process. |
stdout | Constructs a new handle to the standard output of the current process. |
write_all | Creates a future that will write the entire contents of the buffer |
Type Definitions
Result | A specialized |