Function sendFileReadingAll [src]
Equivalent to sendFileAll but uses direct pread and read calls on
file rather than sendFile. This is generally used as a fallback when
the underlying implementation returns error.Unimplemented, which is why
that error code does not appear in this function's error set.
Asserts nonzero buffer capacity.
Prototype
pub fn sendFileReadingAll(w: *Writer, file_reader: *File.Reader, limit: Limit) FileAllError!usize
Parameters
w: *Writer
file_reader: *File.Reader
limit: Limit
Possible Errors
Detailed diagnostics are found on the File.Reader
struct.
See the Writer
implementation for detailed diagnostics.
Source
pub fn sendFileReadingAll(w: *Writer, file_reader: *File.Reader, limit: Limit) FileAllError!usize {
var remaining = @intFromEnum(limit);
while (remaining > 0) {
remaining -= sendFileReading(w, file_reader, .limited(remaining)) catch |err| switch (err) {
error.EndOfStream => break,
else => |e| return e,
};
}
return @intFromEnum(limit) - remaining;
}