io_uring library

A pure-Dart, syscall-level interface to Linux io_uring.

Classes

AcceptOp
IORING_OP_ACCEPT.
AsyncCancelOp
IORING_OP_ASYNC_CANCEL targeting a user_data value.
BindOp
IORING_OP_BIND.
CloseOp
IORING_OP_CLOSE.
ConnectOp
IORING_OP_CONNECT.
FallocateOp
IORING_OP_FALLOCATE.
FilesUpdateOp
IORING_OP_FILES_UPDATE: updates registered file descriptors.
FsyncOp
IORING_OP_FSYNC.
FtruncateOp
IORING_OP_FTRUNCATE.
IoUring
A synchronous io_uring instance.
IoUringAsyncLayout
Immutable description of the CQ ring layout, shared with the reaper isolate.
IoUringBuilder
Fluent builder for IoUring setup flags.
IoUringCompletion
Immutable copy of a completion, safe to keep after the CQ slot is reused.
IoUringCqe
struct io_uring_cqe (16 bytes).
IoUringCqeFlags
Bits in a completion queue entry's flags field.
IoUringCqOffsetsView
Immutable copy of the CQ offsets, safe to keep after params is freed.
IoUringEnterFlags
Flags for io_uring_enter(2).
IoUringMultishotFlags
Op-specific flags for poll/recv multishot requests.
IoUringOpcode
IORING_OP_* values. Keep in sync with linux/io_uring.h.
IoUringParameters
Snapshot of the parameters a ring was created with.
IoUringProbeResult
Result of IORING_REGISTER_PROBE.
IoUringRegisterOpcode
io_uring_register(2) opcodes.
IoUringSetupFlags
Flags for io_uring_setup(2) (io_uring_params.flags).
IoUringSqe
struct io_uring_sqe (64 bytes).
IoUringSqeFlags
Bits in a submission queue entry's flags field (IOSQE_*).
IoUringSqOffsetsView
Immutable copy of the SQ offsets, safe to keep after params is freed.
IoUringTimeoutFlags
Flags for IORING_OP_TIMEOUT / IORING_OP_LINK_TIMEOUT.
LinkTimeoutOp
IORING_OP_LINK_TIMEOUT, used as the last entry of a linked chain.
ListenOp
IORING_OP_LISTEN.
NopOp
IORING_OP_NOP: does nothing, useful for ring round-trip tests.
OpenAtOp
IORING_OP_OPENAT.
PollAddOp
IORING_OP_POLL_ADD.
PollEvents
Poll event bits used by IORING_OP_POLL_ADD.
PollRemoveOp
IORING_OP_POLL_REMOVE.
Posix
Minimal raw-fd helpers.
PosixConstants
Minimal POSIX constants needed by the raw-fd layer.
ProvideBuffersOp
IORING_OP_PROVIDE_BUFFERS.
ReadFixedOp
IORING_OP_READ_FIXED: read into a registered buffer.
ReadOp
IORING_OP_READ: positional read into a native buffer.
ReadvOp
IORING_OP_READV.
RecvMultiOp
Multishot IORING_OP_RECV with provided-buffer selection.
RecvOp
IORING_OP_RECV.
RemoveBuffersOp
IORING_OP_REMOVE_BUFFERS.
SendOp
IORING_OP_SEND.
ShutdownOp
IORING_OP_SHUTDOWN.
SocketConstants
Socket constants needed by the network operations.
SocketOp
IORING_OP_SOCKET: creates a socket and returns its fd in the CQE.
SpliceFlags
Flags for IORING_OP_SPLICE / IORING_OP_TEE.
SpliceOp
IORING_OP_SPLICE.
StatxOp
IORING_OP_STATX.
TeeOp
IORING_OP_TEE.
TimeoutOp
IORING_OP_TIMEOUT.
TimeoutRemoveOp
IORING_OP_TIMEOUT_REMOVE.
UringBuffer
A native buffer that can be handed to the kernel.
UringBufRing
A registered provided-buffer ring (IORING_REGISTER_PBUF_RING).
UringIoVec
One element of a readv/writev vector.
UringIoVecList
A native struct iovec[] array.
UringLoop
A Future-based wrapper around IoUring with a dedicated reaper isolate.
UringOp
A typed encoder for one SQE.
UringPath
A NUL-terminated UTF-8 path in native memory.
UringPipe
A pipe created by pipe2(2).
UringSockAddr
A native IPv4 sockaddr_in (16 bytes).
UringTimespec
A native struct __kernel_timespec (16 bytes) for timeout operations.
WriteFixedOp
IORING_OP_WRITE_FIXED: write from a registered buffer.
WriteOp
IORING_OP_WRITE: positional write from a native buffer.
WritevOp
IORING_OP_WRITEV.

Functions

errnoName(int code) → String
Common errno names (Linux generic numbering).

Exceptions / Errors

IoUringException
An error reported by an io_uring syscall or by a completion.