Function start [src]

Prototype

pub fn start(ws: *WebServer) error{AlreadyReported}!void

Parameters

ws: *WebServer

Possible Errors

AlreadyReported

Source

pub fn start(ws: *WebServer) error{AlreadyReported}!void { assert(ws.tcp_server == null); assert(ws.serve_thread == null); ws.tcp_server = ws.listen_address.listen(.{ .reuse_address = true }) catch |err| { log.err("failed to listen to port {d}: {s}", .{ ws.listen_address.getPort(), @errorName(err) }); return error.AlreadyReported; }; ws.serve_thread = std.Thread.spawn(.{}, serve, .{ws}) catch |err| { log.err("unable to spawn web server thread: {s}", .{@errorName(err)}); ws.tcp_server.?.deinit(); ws.tcp_server = null; return error.AlreadyReported; }; log.info("web interface listening at http://{f}/", .{ws.tcp_server.?.listen_address}); if (ws.listen_address.getPort() == 0) { log.info("hint: pass '--webui={f}' to use the same port next time", .{ws.tcp_server.?.listen_address}); } }