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.

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.