fn readAll( ev: *Evented, cancel_region: *CancelRegion, fd: fd_t, buffer: []u8, ) (File.Reader.Error || error
fn readAll( ev: *Evented, cancel_region: *CancelRegion, fd: fd_t, buffer: []u8, ) (File.Reader.Error || error{EndOfStream})!void { var index: usize = 0; while (buffer.len - index != 0) { const len = try ev.preadv(cancel_region, fd, &.{ .{ .base = buffer[index..].ptr, .len = buffer.len - index }, }, null); if (len == 0) return error.EndOfStream; index += len; } }