pub fn elidingDrain(w: *Writer, data: []const []const u8, splat: usize) Error!usize w: *Writerdata: []const []const u8splat: usize903
904
905
906
907
908
909
910
911
912
913
914
915 pub fn elidingDrain(w: *Writer, data: []const []const u8, splat: usize) Error!usize {
const bw: *BodyWriter = @alignCast(@fieldParentPtr("writer", w));
const slice = data[0 .. data.len - 1];
const pattern = data[slice.len];
var written: usize = pattern.len * splat;
for (slice) |bytes| written += bytes.len;
switch (bw.state) {
.content_length => |*len| len.* -= written + w.end,
else => {},
}
w.end = 0;
return written;
}