Function writableVectorPosix [src]

Prototype

pub fn writableVectorPosix(r: *Reader, buffer: []std.posix.iovec, data: []const []u8) Error!struct { usize, usize }

Parameters

r: *Readerbuffer: []std.posix.iovecdata: []const []u8

Possible Errors

EndOfStream
ReadFailed

See the Reader implementation for detailed diagnostics.

Source

pub fn writableVectorPosix(r: *Reader, buffer: []std.posix.iovec, data: []const []u8) Error!struct { usize, usize } { var i: usize = 0; var n: usize = 0; if (r.seek == r.end) { for (data) |buf| { if (buffer.len - i == 0) return .{ i, n }; if (buf.len != 0) { buffer[i] = .{ .base = buf.ptr, .len = buf.len }; i += 1; n += buf.len; } } const buf = r.buffer; if (buf.len != 0) { r.seek = 0; r.end = 0; buffer[i] = .{ .base = buf.ptr, .len = buf.len }; i += 1; } } else { const buf = r.buffer[r.end..]; buffer[i] = .{ .base = buf.ptr, .len = buf.len }; i += 1; } return .{ i, n }; }