Module nix::sys::aio
#[cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "ios",
target_os = "linux", target_os = "macos", target_os = "netbsd"))]Documentation
POSIX Asynchronous I/O
The POSIX AIO interface is used for asynchronous I/O on files and disk-like
devices. It supports read,
write, and
fsync operations. Completion
notifications can optionally be delivered via
signals, via the
aio_suspend function, or via polling. Some
platforms support other completion
notifications, such as
kevent.
Multiple operations may be submitted in a batch with
lio_listio, though the standard does not guarantee
that they will be executed atomically.
Outstanding operations may be cancelled with
cancel or
aio_cancel_all, though the operating system may
not support this for all filesystems and devices.
Structs
AIO Control Block.
LioCb not(any(target_os = "ios", target_os = "macos"))
LIO Control Block.
LioCbBuilder not(any(target_os = "ios", target_os = "macos"))
Used to construct LioCb
Enums
Return values for AioCb::cancel and
aio_cancel_all
Mode for AioCb::fsync. Controls whether only data or both data and
metadata are synced.
Mode for lio_listio
When used with lio_listio, determines whether a
given aiocb should be used for a read operation, a write operation, or
ignored. Has no effect for any other aio functions.
Functions
Cancels outstanding AIO requests for a given file descriptor.
Suspends the calling process until at least one of the specified AioCbs
has completed, a signal is delivered, or the timeout has passed.