summaryrefslogtreecommitdiff
path: root/src/server/main.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-01 19:06:00 +0000
committerRobby Zambito <contact@robbyzambito.me>2026-01-01 19:16:58 +0000
commit987dc492a6ad8e3b4bd2f369d676a2d588342543 (patch)
tree48ba2584edcb96766257387a7fb56b8f99adbdc2 /src/server/main.zig
parent86558986efff134680ac14aae605bbd80eaba4d5 (diff)
97 mbps !!! super fast
dosen't flush every message, pulls batches from the queue to send, and flushes at the end of each batch. batches are a min of 1 message, but may be more.
Diffstat (limited to 'src/server/main.zig')
-rw-r--r--src/server/main.zig7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/main.zig b/src/server/main.zig
index e622304..d8e8e61 100644
--- a/src/server/main.zig
+++ b/src/server/main.zig
@@ -126,12 +126,12 @@ fn handleConnection(
const allocator = if (builtin.mode == .Debug or builtin.mode == .ReleaseSafe) client_allocator.allocator() else server_allocator;
// Set up client writer
- var w_buffer: [256]u8 = undefined;
+ var w_buffer: [1024]u8 = undefined;
var writer = stream.writer(io, &w_buffer);
const out = &writer.interface;
// Set up client reader
- var r_buffer: [256]u8 = undefined;
+ var r_buffer: [1024]u8 = undefined;
var reader = stream.reader(io, &r_buffer);
const in = &reader.interface;
@@ -140,8 +140,9 @@ fn handleConnection(
try server.addClient(server_allocator, id, &client);
defer server.removeClient(io, server_allocator, id);
- var qbuf: [16]Message = undefined;
+ var qbuf: [8]Message = undefined;
var queue: std.Io.Queue(Message) = .init(&qbuf);
+ defer queue.close(io);
var client_task = try io.concurrent(Client.start, .{ &client, io, server_allocator, &queue });
defer client_task.cancel(io) catch {};