summaryrefslogtreecommitdiff
path: root/src/RawSocketWriter.zig
diff options
context:
space:
mode:
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 },