diff options
author | Robby Zambito <contact@robbyzambito.me> | 2025-04-02 18:38:31 -0400 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2025-04-02 22:05:10 -0400 |
commit | 6a9a57a69037da5a7345a0c3782e73d7a641e808 (patch) | |
tree | 8db89cf24d98d0a7c23b0b6410e7755056972049 | |
parent | ab8792efce8fc4e2ead1f021d6cf3e54dc0200ac (diff) |
it works!
-rw-r--r-- | src/main.zig | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main.zig b/src/main.zig index e86fc03..f0c1731 100644 --- a/src/main.zig +++ b/src/main.zig @@ -16,7 +16,7 @@ const SaprusHeaderFrame = struct { const Self = @This(); fn toBytes(s: Self, allocator: Allocator) ![]u8 { - const buf = try allocator.alloc(u8, 32 + s.payload.len); + const buf = try allocator.alloc(u8, 4 + s.payload.len); std.mem.writeInt(u16, buf[0..2], @intFromEnum(s.msg_type), .big); std.mem.writeInt(u16, buf[2..4], @intCast(s.payload.len), .big); std.mem.copyForwards(u8, buf[4..], s.payload); @@ -34,6 +34,7 @@ const SaprusRelayMessage = struct { const buf = try allocator.alloc(u8, 4 + s.payload.len); std.mem.copyForwards(u8, buf[0..4], &s.dest); std.mem.copyForwards(u8, buf[4..], s.payload); + std.debug.print("in tobytes {x}\n", .{buf}); return buf; } }; @@ -47,9 +48,15 @@ pub fn main() !void { var allocator = if (dba) |*d| d.allocator() else std.heap.smp_allocator; + const str_msg = "Hello darkness my old friend"; + var payload_bytes: [str_msg.len + 1]u8 = @splat(0); + // const payload_bytes = try allocator.alloc(u8, str_msg.len); + // defer allocator.free(payload_bytes); + // std.mem.copyForwards(u8, payload_bytes[0..], str_msg); + std.mem.copyBackwards(u8, payload_bytes[0..], str_msg); const relay: SaprusRelayMessage = .{ .dest = [_]u8{ 255, 255, 255, 255 }, - .payload = @ptrCast(@constCast("Hello darkness my old friend")), + .payload = payload_bytes[0..str_msg.len], }; const relay_bytes = try relay.toBytes(allocator); defer allocator.free(relay_bytes); @@ -81,6 +88,9 @@ pub fn main() !void { try sock.bind(bind_addr); + // std.debug.print("relay: {x}\n", .{relay_bytes}); + std.debug.print("message bytes: {x}\n", .{msg_bytes}); + // @breakpoint(); _ = try sock.sendTo(dest_addr, msg_bytes); |