authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-31 14:45:05 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-31 14:45:05 -07:00
log74f584a9ee2232470ef015b4863f4bc12f5fa406
tree7f11503f4b22d911c1434fdb39d7ab841b1c3356
parent133dea370171f39fd98f2d772abffcdb28e1b967
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

BufferedReader: allow wrapping pointer Readables


1 files changed, 2 insertions(+), 1 deletions(-)

buffered_reader.zig+2-1
...@@ -1,5 +1,6 @@...@@ -1,5 +1,6 @@
1const std = @import("std");1const std = @import("std");
2const nio = @import("./nio.zig");2const nio = @import("./nio.zig");
3const extras = @import("extras");
34
4pub fn BufferedReader(comptime buffer_size: usize, comptime ReaderType: type) type {5pub fn BufferedReader(comptime buffer_size: usize, comptime ReaderType: type) type {
5 return struct {6 return struct {
...@@ -39,7 +40,7 @@ pub fn BufferedReader(comptime buffer_size: usize, comptime ReaderType: type) ty...@@ -39,7 +40,7 @@ pub fn BufferedReader(comptime buffer_size: usize, comptime ReaderType: type) ty
39 pub const skipBytes = R.skipBytes;40 pub const skipBytes = R.skipBytes;
40 pub const skipUntilDelimiterOrEof = R.skipUntilDelimiterOrEof;41 pub const skipUntilDelimiterOrEof = R.skipUntilDelimiterOrEof;
4142
42 pub const ReadError = ReaderType.ReadError;43 pub const ReadError = extras.Pointee(ReaderType).ReadError;
43 pub fn read(self: *Self, dest: []u8) ReadError!usize {44 pub fn read(self: *Self, dest: []u8) ReadError!usize {
44 // First try reading from the already buffered data onto the destination.45 // First try reading from the already buffered data onto the destination.
45 const current = self.buf[self.start..self.end];46 const current = self.buf[self.start..self.end];