Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

timeout

Queues (but does not submit) an SQE to register a timeout operation. Returns a pointer to the SQE.

The timeout will complete when either the timeout expires, or after the specified number of events complete (if count is greater than 0).

flags may be 0 for a relative timeout, or IORING_TIMEOUT_ABS for an absolute timeout.

The completion event result will be -ETIME if the timeout completed through expiration, 0 if the timeout completed after the specified number of events, or -ECANCELED if the timeout was removed before it expired.

io_uring timeouts use the CLOCK.MONOTONIC clock source.

IoUring.timeout
pub fn timeout(
    self: *IoUring,
    user_data: u64,
    ts: *const linux.kernel_timespec,
    count: u32,
    flags: u32,
) !*linux.io_uring_sqe

File

lib/std/os/linux/IoUring.zig:840

Code

pub fn timeout(
    self: *IoUring,
    user_data: u64,
    ts: *const linux.kernel_timespec,
    count: u32,
    flags: u32,
) !*linux.io_uring_sqe {
    const sqe = try self.get_sqe();
    sqe.prep_timeout(ts, count, flags);
    sqe.user_data = user_data;
    return sqe;
}