From 94fa7059420793911efd53424d7422e53f5763f1 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 12 Apr 2026 13:41:05 -0700 Subject: [PATCH] Readable: add readAlloc --- nio.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nio.zig b/nio.zig index f9c07a4fe028b6d2057086a4031e6f27d0d56738..ff753eb008fe60fe99d633bb133ed914135881fa 100644 --- a/nio.zig +++ b/nio.zig @@ -126,6 +126,16 @@ pub fn Readable(T: type, this_kind: enum { _var, _const, _bare }) type { } return error.StreamTooLong; } + + pub fn readAlloc(self: Self, allocator: std.mem.Allocator, size: usize) ![]u8 { + var array_list = try std.ArrayList(u8).initCapacity(allocator, size); + defer array_list.deinit(); + try array_list.ensureUnusedCapacity(size); + const len = try readAll(self, array_list.allocatedSlice()); + array_list.items.len += len; + if (len != size) return error.EndOfStream; + return array_list.toOwnedSlice(); + } }; } -- 2.54.0