unionstd.Build.Watch.Timeout[src]

Fields

none
ms: u16

Functions

Functionto_i32_ms[src]

pub fn to_i32_ms(t: Timeout) i32

Parameters

Source Code

Source code
pub fn to_i32_ms(t: Timeout) i32 {
    return switch (t) {
        .none => -1,
        .ms => |ms| ms,
    };
}

FunctiontoTimespec[src]

pub fn toTimespec(t: Timeout, buf: *std.posix.timespec) ?*std.posix.timespec

Parameters

Source Code

Source code
pub fn toTimespec(t: Timeout, buf: *std.posix.timespec) ?*std.posix.timespec {
    return switch (t) {
        .none => null,
        .ms => |ms_u16| {
            const ms: isize = ms_u16;
            buf.* = .{
                .sec = @divTrunc(ms, std.time.ms_per_s),
                .nsec = @rem(ms, std.time.ms_per_s) * std.time.ns_per_ms,
            };
            return buf;
        },
    };
}

Source Code

Source code
pub const Timeout = union(enum) {
    none,
    ms: u16,

    pub fn to_i32_ms(t: Timeout) i32 {
        return switch (t) {
            .none => -1,
            .ms => |ms| ms,
        };
    }

    pub fn toTimespec(t: Timeout, buf: *std.posix.timespec) ?*std.posix.timespec {
        return switch (t) {
            .none => null,
            .ms => |ms_u16| {
                const ms: isize = ms_u16;
                buf.* = .{
                    .sec = @divTrunc(ms, std.time.ms_per_s),
                    .nsec = @rem(ms, std.time.ms_per_s) * std.time.ns_per_ms,
                };
                return buf;
            },
        };
    }
}