From 1e3c21f150331169ae5dabf61c89423810676f33 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Fri, 2 Jan 2026 02:13:13 +0000 Subject: --- src/server/main.zig | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/server/main.zig') diff --git a/src/server/main.zig b/src/server/main.zig index 044f551..c24a758 100644 --- a/src/server/main.zig +++ b/src/server/main.zig @@ -160,11 +160,11 @@ fn handleConnection( try server.addClient(server_allocator, id, &client); defer server.removeClient(io, server_allocator, id); - var qbuf: [8]Message = undefined; - var queue: std.Io.Queue(Message) = .init(&qbuf); + var sdqbuf: [8]Message = undefined; + var send_queue: std.Io.Queue(Message) = .init(&sdqbuf); defer { - queue.close(io); - while (queue.getOne(io)) |msg| { + send_queue.close(io); + while (send_queue.getOne(io)) |msg| { switch (msg) { .msg => |m| m.deinit(server_allocator), else => {}, @@ -172,7 +172,19 @@ fn handleConnection( } else |_| {} } - var client_task = try io.concurrent(Client.start, .{ &client, io, server_allocator, &queue }); + var rcqbuf: [8]Message = undefined; + var recv_queue: std.Io.Queue(Message) = .init(&rcqbuf); + defer { + recv_queue.close(io); + while (recv_queue.getOne(io)) |msg| { + switch (msg) { + .msg => |m| m.deinit(server_allocator), + else => {}, + } + } else |_| {} + } + + var client_task = try io.concurrent(Client.start, .{ &client, io, server_allocator, &send_queue, &recv_queue }); defer client_task.cancel(io) catch {}; try io.sleep(std.Io.Duration.fromMilliseconds(5), .real); -- cgit