fn serve(ws: *WebServer) Io.Cancelable!void
fn serve(ws: *WebServer) Io.Cancelable!void { const graph = ws.graph; const io = graph.io; var group: Io.Group = .init; defer group.cancel(io); while (true) { var stream = ws.tcp_server.?.accept(io) catch |err| switch (err) { error.Canceled => |e| return e, else => |e| { log.err("failed to accept connection: {t}", .{e}); return; }, }; group.concurrent(io, accept, .{ ws, stream }) catch |err| { log.err("unable to spawn connection thread: {t}", .{err}); stream.close(io); continue; }; } }