diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-01-04 16:38:57 -0500 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-01-04 16:39:01 -0500 |
| commit | 78b3aa03d51308780614bcd07cb84d08630d0a5e (patch) | |
| tree | 0c1cdac1a18d98c09f37de9aed9d5eb0f4f4fc9b /src/server/Client.zig | |
| parent | e81bcda9208a01daa87ab5f74fa27439c2fd05f3 (diff) | |
Use memorypool for hot messageshot-message-pool
Diffstat (limited to 'src/server/Client.zig')
| -rw-r--r-- | src/server/Client.zig | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/server/Client.zig b/src/server/Client.zig index 53a66b9..2827b6a 100644 --- a/src/server/Client.zig +++ b/src/server/Client.zig @@ -1,5 +1,6 @@ const Message = @import("message_parser.zig").Message; const std = @import("std"); +const HotMessageManager = @import("message_parser.zig").HotMessageManager; const Client = @This(); @@ -26,7 +27,7 @@ pub fn init( } pub fn deinit(self: *Client, alloc: std.mem.Allocator) void { - if (self.connect) |c| { + if (self.connect) |*c| { c.deinit(alloc); } self.* = undefined; @@ -41,13 +42,20 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator) !void { for (0..len) |i| { const msg = msgs[i]; defer switch (msg) { - .msg => |m| m.deinit(alloc), - .hmsg => |h| h.deinit(alloc), + .msg => { + msg.msg.deinit(alloc); + }, + .hmsg => { + msg.hmsg.msg.deinit(alloc); + }, else => {}, }; errdefer for (msgs[i + 1 .. len]) |mg| switch (mg) { - .msg => |m| { - m.deinit(alloc); + .msg => { + mg.msg.deinit(alloc); + }, + .hmsg => { + mg.hmsg.msg.deinit(alloc); }, else => {}, }; @@ -103,8 +111,12 @@ pub fn send(self: *Client, io: std.Io, msg: Message) !void { try self.recv_queue.putOne(io, msg); } -pub fn next(self: *Client, allocator: std.mem.Allocator) !Message { - return Message.next(allocator, self.from_client); +pub fn next( + self: *Client, + allocator: std.mem.Allocator, + hot_msg_manager: *HotMessageManager, +) !Message { + return Message.next(allocator, self.from_client, hot_msg_manager); } test { |
