Function elidingDrain [src]

Prototype

pub fn elidingDrain(w: *Writer, data: []const []const u8, splat: usize) Error!usize

Parameters

w: *Writerdata: []const []const u8splat: usize

Possible Errors

WriteFailed Error

See the Writer implementation for detailed diagnostics.

Source

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; }