summaryrefslogtreecommitdiff
path: root/src/RawSocketWriter.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-10-12 18:06:55 -0400
committerRobby Zambito <contact@robbyzambito.me>2025-10-12 21:13:42 -0400
commitd6da3cd31b1f4f66aa61ea7a68fa4ab9782fd2c2 (patch)
tree23da0912ed9c254e2047e1ac55b3828329efa52c /src/RawSocketWriter.zig
parentfe166d21060ee541d1d053da3a85144c7b269120 (diff)
IT'S RIGHT
Diffstat (limited to 'src/RawSocketWriter.zig')
-rw-r--r--src/RawSocketWriter.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/RawSocketWriter.zig b/src/RawSocketWriter.zig
index a767729..89e5eb4 100644
--- a/src/RawSocketWriter.zig
+++ b/src/RawSocketWriter.zig
@@ -8,12 +8,14 @@ interface: Writer,
socket: gcat.nic.RawSocket,
fn drain(io_w: *std.Io.Writer, data: []const []const u8, splat: usize) Writer.Error!usize {
+ std.debug.print("in drain\n", .{});
const w: *RawSocketWriter = @alignCast(@fieldParentPtr("interface", io_w));
const rem_buf = io_w.unusedCapacitySlice();
var rem_w = Writer.fixed(rem_buf);
const res = rem_w.writeSplat(data, splat) catch rem_buf.len;
io_w.advance(res);
const buffered = io_w.buffered();
+ std.debug.print("buffer: {x}\n", .{buffered});
w.socket.linkLayer().send(buffered) catch return error.WriteFailed;
_ = io_w.consumeAll();
@@ -21,6 +23,7 @@ fn drain(io_w: *std.Io.Writer, data: []const []const u8, splat: usize) Writer.Er
}
pub fn init(interface_name: [:0]const u8, buffer: []u8) !RawSocketWriter {
+ std.debug.assert(buffer.len > 0);
return .{
.interface = .{
.vtable = &.{ .drain = drain },