diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-01-02 02:13:13 +0000 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-01-02 02:13:13 +0000 |
| commit | 1e3c21f150331169ae5dabf61c89423810676f33 (patch) | |
| tree | f5904fc933768d9878409ad489fde86e0e6c1699 /src/server/main.zig | |
| parent | 9ee8317cb092630ae00b736af9f6f3e7c4ea46c7 (diff) | |
Diffstat (limited to 'src/server/main.zig')
| -rw-r--r-- | src/server/main.zig | 22 |
1 files changed, 17 insertions, 5 deletions
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); |
