diff --git a/example/Socket.zig b/example/Socket.zig index 3349136..c521cdf 100644 --- a/example/Socket.zig +++ b/example/Socket.zig @@ -54,7 +54,7 @@ pub const Reader = struct { fn stream(r: *Io.Reader, w: *Io.Writer, limit: Io.Limit) Io.Reader.StreamError!usize { const self: *Reader = @fieldParentPtr("interface", r); - const buf = limit.slice(w.unusedCapacitySlice()); + const buf = limit.slice(try w.writableSliceGreedy(1)); while (true) { var iov: [1]posix.iovec = .{ diff --git a/src/connection.zig b/src/connection.zig index 22832a7..0757a80 100644 --- a/src/connection.zig +++ b/src/connection.zig @@ -253,7 +253,8 @@ pub const Connection = struct { fn stream(r: *Io.Reader, w: *Io.Writer, limit: Io.Limit) Io.Reader.StreamError!usize { const self: *Reader = @fieldParentPtr("interface", r); - const n = self.conn.read(limit.slice(w.unusedCapacitySlice())) catch |err| { + const buf = limit.slice(try w.writableSliceGreedy(1)); + const n = self.conn.read(buf) catch |err| { self.err = err; if (err == error.EndOfStream) return error.EndOfStream; return error.ReadFailed;