[−][src]Crate linux_aio_tokio
Tokio Bindings for Linux Kernel AIO
This package provides an integration of Linux kernel-level asynchronous I/O to the Tokio platform.
Linux kernel-level asynchronous I/O is different from the Posix AIO library. Posix AIO is implemented using a pool of userland threads, which invoke regular, blocking system calls to perform file I/O. Linux kernel-level AIO, on the other hand, provides kernel-level asynchronous scheduling of I/O operations to the underlying block device.
Structs
AtomicLink | Link for intrusive collection, suitable for multi-threaded environments |
EventFd | Tokio-aware EventFd implementation |
File | AIO version of tokio |
GenericAioContext | Represents running AIO context. Must be kept while AIO is in use.
In order to close it, |
GenericAioContextHandle | Cloneable handle to AIO context. Required for any AIO operations |
LocalRequestAdapter | |
LockedBuf | Buffer with fixed capacity, locked to RAM. It prevents memory from being paged to the swap area |
NoopLock | An unsafe (non-thread-safe) lock, equivalent to UnsafeCell |
ReadFlags | AIO read flags. See |
SyncRequestAdapter | |
WriteFlags | AIO write flags. See |
Enums
AioCommandError | AIO command error |
AioContextError | AIO context creation error |
LockedBufError | Error during |
RawCommand | Raw AIO command |
Traits
AioOpenOptionsExt | Extension trait to |
IntrusiveAdapter | Intrusive adapter suitable for storing |
Functions
aio_context | Create new AIO context suitable for cross-threaded environment (tokio rt-threaded),
backed by parking_lot Mutex. Automatically spawn background task, which polls
eventfd with |
generic_aio_context | Create new AIO context with |
local_aio_context | Create new AIO context suitable for single-threaded environment (tokio rt-core) |
Type Definitions
AioContext | AIO context suitable for cross-threaded environment (tokio rt-threaded), backed by parking_lot Mutex |
AioContextHandle | AIO context handle suitable for cross-threaded environment (tokio rt-threaded), backed by parking_lot Mutex |
LocalAioContext | AIO context suitable for cross-threaded environment (tokio rt-core) |
LocalAioContextHandle | AIO context handle suitable for single-threaded environment (tokio rt-core) |