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 standard library.
std › Io › Threaded › sleepWasi Private Function sleepWasi Doc Source Private Function std.Io.Threaded.sleepWasi
fn sleepWasi (t : *Threaded , timeout : Io .Timeout ) Io .Cancelable !void Params File Io/Threaded.zig: 11899
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926 fn sleepWasi (t : *Threaded , timeout : Io .Timeout ) Io .Cancelable !void {
const t_io = io (t );
const w = std .os .wasi ;
const clock : w .subscription_clock_t = if (timeout .toDurationFromNow (t_io )) |d | .{
.id = clockToWasi (d .clock ),
.timeout = std .math .lossyCast (u64 , d .raw .nanoseconds ),
.precision = 0 ,
.flags = 0 ,
} else .{
.id = .MONOTONIC ,
.timeout = std .math .maxInt (u64 ),
.precision = 0 ,
.flags = 0 ,
};
const in : w .subscription_t = .{
.userdata = 0 ,
.u = .{
.tag = .CLOCK ,
.u = .{ .clock = clock },
},
};
var event : w .event_t = undefined ;
var nevents : usize = undefined ;
const syscall : Syscall = try .start ();
_ = w .poll_oneoff (&in , &event , 1 , &nevents );
syscall .finish ();
}