Expand description

Asynchronous file and standard stream adaptation.

This module contains utility methods and adapter types for input/output to files or standard streams (Stdin, Stdout, Stderr), and filesystem manipulation, for use within (and only within) a Tokio runtime.

Tasks run by worker threads should not block, as this could delay servicing reactor events. Portable filesystem operations are blocking, however. This module offers adapters which use a blocking annotation to inform the runtime that a blocking operation is required. When necessary, this allows the runtime to convert the current thread from a worker to a backup thread, where blocking is acceptable.

Usage

Where possible, users should prefer the provided asynchronous-specific traits such as AsyncRead, or methods returning a Future or Poll type. Adaptions also extend to traits like std::io::Read where methods return std::io::Result. Be warned that these adapted methods may return std::io::ErrorKind::WouldBlock if a worker thread can not be converted to a backup thread immediately. See tokio-threadpool for more details of the threading model and blocking.

Re-exports

pub use file::File;

Modules

Types for working with File.

OS-specific functionality.

Structs

Future returned by create_dir_all.

Future returned by create_dir.

Entries returned by the ReadDir stream.

Future returned by hard_link.

Future returned by metadata.

Options and flags which can be used to configure how a file is opened.

Stream of the entries in a directory.

Future returned by read_dir.

A future used to open a file and read its entire contents into a buffer.

Future returned by read_link.

Future returned by remove_dir.

Future returned by remove_file.

Future returned by rename.

Future returned by set_permissions.

A handle to the standard error stream of a process.

A handle to the standard input stream of a process.

A handle to the standard output stream of a process.

Future returned by symlink_metadata.

A future used to open a file for writing and write the entire contents of some data to it.

Functions

Creates a new, empty directory at the provided path

Recursively create a directory and all of its parent components if they are missing.

Creates a new hard link on the filesystem.

Queries the file system metadata for a path.

Creates a future which will open a file for reading and read the entire contents into a buffer and return said buffer.

Returns a stream over the entries within a directory.

Reads a symbolic link, returning the file that the link points to.

Removes an existing, empty directory.

Removes a file from the filesystem.

Rename a file or directory to a new name, replacing the original file if to already exists.

Changes the permissions found on a file or a directory.

Constructs a new handle to the standard error of the current process.

Constructs a new handle to the standard input of the current process.

Constructs a new handle to the standard output of the current process.

Queries the file system metadata for a path.

Creates a future that will open a file for writing and write the entire contents of contents to it.