diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-01-05 00:23:43 -0500 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-01-05 10:34:31 -0500 |
| commit | e50d53ee7ee044df88fa0b31a998ef17eb7e7efa (patch) | |
| tree | 9b036dd6d38bf6d0ca0f6329db326858fd738270 /src/server/Client.zig | |
| parent | ca43a12b9b754d5a3c7e89b9bb8d622358db3795 (diff) | |
Add Payload type
stores short message buffers in a colocated array, overflowing to an
allocated slice when needed.
Diffstat (limited to 'src/server/Client.zig')
| -rw-r--r-- | src/server/Client.zig | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/Client.zig b/src/server/Client.zig index 8ff92e8..4eceb89 100644 --- a/src/server/Client.zig +++ b/src/server/Client.zig @@ -72,25 +72,27 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator) !void { switch (msg) { .MSG => |m| { try self.to_client.print( - "MSG {s} {s} {s} {d}\r\n{s}\r\n", + "MSG {s} {s} {s} {d}\r\n", .{ m.subject, m.sid, m.reply_to orelse "", m.payload.len, - m.payload, }, ); + try m.payload.write(self.to_client); + try self.to_client.print("\r\n", .{}); }, .HMSG => |hmsg| { - try self.to_client.print("HMSG {s} {s} {s} {d} {d}\r\n{s}\r\n", .{ + try self.to_client.print("HMSG {s} {s} {s} {d} {d}\r\n", .{ hmsg.msg.subject, hmsg.msg.sid, hmsg.msg.reply_to orelse "", hmsg.header_bytes, hmsg.msg.payload.len, - hmsg.msg.payload, }); + try hmsg.msg.payload.write(self.to_client); + try self.to_client.print("\r\n", .{}); }, } } |
