Function sendFileHeader [src]

Returns how many bytes from header and file_reader were consumed. limit only applies to file_reader.

Prototype

pub fn sendFileHeader( w: *Writer, header: []const u8, file_reader: *File.Reader, limit: Limit, ) FileError!usize

Parameters

w: *Writerheader: []const u8file_reader: *File.Readerlimit: Limit

Possible Errors

EndOfStream

Reached the end of the file being read.

ReadFailed

Detailed diagnostics are found on the File.Reader struct.

Unimplemented

Indicates the caller should do its own file reading; the callee cannot offer a more efficient implementation.

WriteFailed

See the Writer implementation for detailed diagnostics.

Source

pub fn sendFileHeader( w: *Writer, header: []const u8, file_reader: *File.Reader, limit: Limit, ) FileError!usize { const new_end = w.end + header.len; if (new_end <= w.buffer.len) { @memcpy(w.buffer[w.end..][0..header.len], header); w.end = new_end; return header.len + try w.vtable.sendFile(w, file_reader, limit); } const buffered_contents = limit.slice(file_reader.interface.buffered()); const n = try w.vtable.drain(w, &.{ header, buffered_contents }, 1); file_reader.interface.toss(n -| header.len); return n; }