summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-04-02 18:38:31 -0400
committerRobby Zambito <contact@robbyzambito.me>2025-04-02 22:05:10 -0400
commit6a9a57a69037da5a7345a0c3782e73d7a641e808 (patch)
tree8db89cf24d98d0a7c23b0b6410e7755056972049
parentab8792efce8fc4e2ead1f021d6cf3e54dc0200ac (diff)
it works!
-rw-r--r--src/main.zig14
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);