pub fn defaultReadVec(r: *Reader, data: [][]u8) Error!usize r: *Readerdata: [][]u8ReadFailedSee the Reader implementation for detailed diagnostics.
EndOfStream445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471pub 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);
const n = r.vtable.stream(r, &writer, limit) catch |err| switch (err) {
error.WriteFailed => unreachable,
else => |e| return e,
};
r.end += n;
return 0;
}
Writes to
Reader.bufferordata, whichever has larger capacity.