diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-01-02 22:36:41 +0000 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-01-02 22:37:54 +0000 |
| commit | 67908cf19875dd42f17d4ae6768fe7cf54a05e6c (patch) | |
| tree | 2c40b9b7166dfeac687b76f12511a88a16cf29c8 | |
| parent | 29e5b92ee0f207dd5bd8c352ce68796e8b6048da (diff) | |
Move handshake from client to server
| -rw-r--r-- | src/server/client.zig | 5 | ||||
| -rw-r--r-- | src/server/main.zig | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/server/client.zig b/src/server/client.zig index 4207cdf..004b0f9 100644 --- a/src/server/client.zig +++ b/src/server/client.zig @@ -30,13 +30,10 @@ pub fn deinit(self: *Client, alloc: std.mem.Allocator) void { self.* = undefined; } -pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator, queue: *std.Io.Queue(Message), server_info: Message.ServerInfo) !void { +pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator, queue: *std.Io.Queue(Message)) !void { self.recv_queue = queue; var msgs: [8]Message = undefined; - // Do initial handshake with client - try queue.putOne(io, .{ .info = server_info }); - while (true) { const len = try queue.get(io, &msgs, 1); std.debug.assert(len <= msgs.len); diff --git a/src/server/main.zig b/src/server/main.zig index 4ade64d..4c1093f 100644 --- a/src/server/main.zig +++ b/src/server/main.zig @@ -67,7 +67,7 @@ pub fn main(alloc: std.mem.Allocator, server_config: ServerInfo) !void { defer server_task.cancel(io) catch {}; while (keep_running.load(.monotonic)) { - try io.sleep(.fromMilliseconds(10), .awake); + try io.sleep(.fromMilliseconds(1), .awake); } std.debug.print("\n", .{}); @@ -179,7 +179,10 @@ fn handleConnection( } else |_| {} } - var client_task = try io.concurrent(Client.start, .{ &client, io, server_allocator, &queue, server.info }); + // Do initial handshake with client + try queue.putOne(io, .{ .info = server.info }); + + var client_task = try io.concurrent(Client.start, .{ &client, io, server_allocator, &queue }); defer client_task.cancel(io) catch {}; // Messages are owned by the server after they are received from the client |
