Function defaultReadVec [src]

Writes to Reader.buffer or data, whichever has larger capacity.

Prototype

pub fn defaultReadVec(r: *Reader, data: [][]u8) Error!usize

Parameters

r: *Readerdata: [][]u8

Possible Errors

EndOfStream
ReadFailed

See the Reader implementation for detailed diagnostics.

Source

pub fn defaultReadVec(r: *Reader, data: [][]u8) Error!usize { const first = data[0]; if (first.len >= r.buffer.len - r.end) { var writer: Writer = .{ .buffer = first, .end = 0, .vtable = &.{ .drain = Writer.fixedDrain }, }; const limit: Limit = .limited(writer.buffer.len - writer.end); return r.vtable.stream(r, &writer, limit) catch |err| switch (err) { error.WriteFailed => unreachable, else => |e| return e, }; } var writer: Writer = .{ .buffer = r.buffer, .end = r.end, .vtable = &.{ .drain = Writer.fixedDrain }, }; const limit: Limit = .limited(writer.buffer.len - writer.end); r.end += r.vtable.stream(r, &writer, limit) catch |err| switch (err) { error.WriteFailed => unreachable, else => |e| return e, }; return 0; }