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 › net › Stream › Writer › sendFile Private Function sendFile Doc Source Private Function std.Io.net.Stream.Writer.sendFile
fn sendFile (io_w : *Io .Writer , file_reader : *Io .File .Reader , limit : Io .Limit ) Io .Writer .FileError !usize Params io_w : *Io .Writer file_reader : *Io .File .Reader limit : Io .Limit File Io/net.zig: 1400
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420 fn sendFile (io_w : *Io .Writer , file_reader : *Io .File .Reader , limit : Io .Limit ) Io .Writer .FileError !usize {
const w : *Writer = @alignCast (@fieldParentPtr ("interface" , io_w ));
const io = w .io ;
const header = io_w .buffered ();
const handle = w .stream .socket .handle ;
const n = io .vtable .netWriteFile (io .userdata , handle , header , file_reader , limit ) catch |err | switch (err ) {
error .Canceled => {
w .err = error .Canceled ;
return error .WriteFailed ;
},
error .EndOfStream ,
error .Unimplemented ,
error .ReadFailed ,
=> |e | return e ,
else => |e | {
w .write_file_err = e ;
return error .WriteFailed ;
},
};
return io_w .consume (n );
}