aboutsummaryrefslogtreecommitdiff
path: root/src/stream/buffer.zig
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 13:09:02 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2025-11-17 13:09:02 +0100
commit6201307fecf8398a1b53bf276bc08bfbb3524899 (patch)
tree2e623f4779b310a81b49dbb146146f8a694d9ec8 /src/stream/buffer.zig
parent9c979a6fefdfc6709b3576014520d219e02c3649 (diff)
implement memora.Stream
Diffstat (limited to 'src/stream/buffer.zig')
-rw-r--r--src/stream/buffer.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/stream/buffer.zig b/src/stream/buffer.zig
new file mode 100644
index 0000000..fca1deb
--- /dev/null
+++ b/src/stream/buffer.zig
@@ -0,0 +1,28 @@
+const std = @import("std");
+
+const Self = @This();
+
+buffer: []const u8,
+buffer_reader: ?std.Io.Reader,
+
+pub fn init(buffer: []const u8) Self {
+ return .{
+ .buffer = buffer,
+ .buffer_reader = null,
+ };
+}
+
+pub fn reader(self: *Self, buffer: []u8) *std.Io.Reader {
+ _ = buffer;
+
+ if (self.buffer_reader) |*r| {
+ return r;
+ }
+
+ self.buffer_reader = std.Io.Reader.fixed(self.buffer);
+ return &self.buffer_reader.?;
+}
+
+pub fn close(self: *Self) void {
+ _ = self;
+}