[−][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 |