summaryrefslogtreecommitdiff
path: root/src/server/main.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-06 18:45:17 -0500
committerRobby Zambito <contact@robbyzambito.me>2026-01-06 20:43:49 -0500
commitb87412ee66197d4c89f1fbf93b32fe63ed1c63ab (patch)
tree00613d0d3f7178d0c5b974ce04a752443e9a816e /src/server/main.zig
parent025a5344c8c922a8f46c4ee0e73a00ce0c3c4790 (diff)
Restructuring
Add a bunch of tests for the client
Diffstat (limited to 'src/server/main.zig')
-rw-r--r--src/server/main.zig66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/server/main.zig b/src/server/main.zig
deleted file mode 100644
index 1aaf572..0000000
--- a/src/server/main.zig
+++ /dev/null
@@ -1,66 +0,0 @@
-const std = @import("std");
-const Allocator = std.mem.Allocator;
-const AtomicValue = std.atomic.Value;
-const DebugAllocator = std.heap.DebugAllocator;
-const Sigaction = std.posix.Sigaction;
-
-const Io = std.Io;
-const Threaded = Io.Threaded;
-
-const builtin = @import("builtin");
-
-const zits = @import("zits");
-const Message = zits.Server.Message;
-const ServerInfo = Message.ServerInfo;
-
-const Server = zits.Server;
-
-const safe_build = builtin.mode == .Debug or builtin.mode == .ReleaseSafe;
-
-var keep_running = AtomicValue(bool).init(true);
-
-fn handleSigInt(sig: std.os.linux.SIG) callconv(.c) void {
- _ = sig;
- keep_running.store(false, .monotonic);
-}
-
-pub fn main(outer_alloc: Allocator, server_config: ServerInfo) !void {
- // Configure the signal action
- const act = Sigaction{
- .handler = .{ .handler = handleSigInt },
- .mask = std.posix.sigemptyset(),
- .flags = 0,
- };
-
- // Register the handler for SIGINT (Ctrl+C)
- std.posix.sigaction(std.posix.SIG.INT, &act, null);
-
- {
- var dba: DebugAllocator(.{}) = .init;
- dba.backing_allocator = outer_alloc;
- defer _ = dba.deinit();
- const alloc = if (safe_build) dba.allocator() else outer_alloc;
-
- var threaded: Threaded = .init(alloc, .{});
- defer threaded.deinit();
- const io = threaded.io();
-
- var server: Server = .{
- .info = server_config,
- };
- defer server.deinit(io, alloc);
-
- var server_task = try io.concurrent(Server.start, .{ &server, io, alloc });
- defer server_task.cancel(io) catch {};
-
- // Block until Ctrl+C
- while (keep_running.load(.monotonic)) {
- try io.sleep(.fromMilliseconds(1), .awake);
- }
-
- std.debug.print("\n", .{});
- std.log.info("Shutting down...", .{});
- server_task.cancel(io) catch {};
- }
- std.log.info("Goodbye", .{});
-}