From 0f138e5984cbebe64bc398513597d62f4e879b05 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Wed, 31 Dec 2025 02:13:15 +0000 Subject: some cleanup and freeing --- src/server/main.zig | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'src/server/main.zig') diff --git a/src/server/main.zig b/src/server/main.zig index 0045c1c..f68e5d3 100644 --- a/src/server/main.zig +++ b/src/server/main.zig @@ -111,22 +111,35 @@ fn handleConnection( switch (msg) { .ping => { // Respond to ping with pong. - for (0..5) |_| { - if (try client_state.send(io, .pong)) { - break; - } - } else {} + try client_state.send(io, .pong); }, - .@"pub" => |@"pub"| { - try server.publishMessage(io, @"pub"); + .@"pub" => |pb| { + defer { + allocator.free(pb.payload); + allocator.free(pb.subject); + if (pb.reply_to) |r| { + allocator.free(r); + } + } + try server.publishMessage(io, pb); if (client_state.connect.connect.verbose) { - _ = try client_state.send(io, .@"+ok"); + try client_state.send(io, .@"+ok"); } }, .sub => |sub| { + defer { + allocator.free(sub.subject); + allocator.free(sub.sid); + if (sub.queue_group) |q| { + allocator.free(q); + } + } try server.subscribe(allocator, id, sub); }, .unsub => |unsub| { + defer { + allocator.free(unsub.sid); + } try server.unsubscribe(id, unsub); }, else => |e| { -- cgit