summaryrefslogtreecommitdiff
path: root/src/server/client.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-01 19:38:36 +0000
committerRobby Zambito <contact@robbyzambito.me>2026-01-01 20:26:41 +0000
commitfc68749669a3bd9e0530d5958b100262537f142a (patch)
tree64d170e2b8f6e0190caf1ed1e2749cc043eed024 /src/server/client.zig
parent987dc492a6ad8e3b4bd2f369d676a2d588342543 (diff)
gracefully exit
simplify code clean up dead code
Diffstat (limited to 'src/server/client.zig')
-rw-r--r--src/server/client.zig57
1 files changed, 18 insertions, 39 deletions
diff --git a/src/server/client.zig b/src/server/client.zig
index f74e6b3..5c8d0cd 100644
--- a/src/server/client.zig
+++ b/src/server/client.zig
@@ -32,17 +32,31 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator, queue: *std.Io
for (msgs[0..len]) |msg| {
switch (msg) {
.@"+ok" => {
- try writeOk(self.to_client);
+ _ = try self.to_client.write("+OK\r\n");
},
.pong => {
- try writePong(self.to_client);
+ _ = try self.to_client.write("PONG\r\n");
},
.info => |info| {
- try writeInfo(self.to_client, info);
+ _ = try self.to_client.write("INFO ");
+ try std.json.Stringify.value(info, .{}, self.to_client);
+ _ = try self.to_client.write("\r\n");
},
.msg => |m| {
defer m.deinit(alloc);
- try writeMsg(self.to_client, m);
+ try self.to_client.print(
+ "MSG {s} {s} {s} {d}\r\n{s}\r\n",
+ .{
+ m.subject,
+ m.sid,
+ m.reply_to orelse "",
+ m.payload.len,
+ m.payload,
+ },
+ );
+ },
+ .@"-err" => |s| {
+ _ = try self.to_client.print("-ERR '{s}'\r\n", .{s});
},
else => |m| {
std.debug.panic("unimplemented write: {any}\n", .{m});
@@ -60,42 +74,7 @@ pub fn send(self: *Client, io: std.Io, msg: Message) !void {
}
pub fn next(self: *Client, allocator: std.mem.Allocator) !Message {
- // std.debug.print("in client awaiting next message\n", .{});
- // errdefer std.debug.print("actually it was canceled\n", .{});
- // defer std.debug.print("client returning next message!\n", .{});
return Message.next(allocator, self.from_client);
- // return self.send_queue.getOne(io);
-}
-
-fn writeOk(out: *std.Io.Writer) !void {
- _ = try out.write("+OK\r\n");
-}
-
-fn writeErr(out: *std.Io.Writer, msg: []const u8) !void {
- _ = try out.print("-ERR '{s}'\r\n", .{msg});
-}
-
-fn writePong(out: *std.Io.Writer) !void {
- _ = try out.write("PONG\r\n");
-}
-
-pub fn writeInfo(out: *std.Io.Writer, info: Message.ServerInfo) !void {
- _ = try out.write("INFO ");
- try std.json.Stringify.value(info, .{}, out);
- _ = try out.write("\r\n");
-}
-
-fn writeMsg(out: *std.Io.Writer, msg: Message.Msg) !void {
- try out.print(
- "MSG {s} {s} {s} {d}\r\n{s}\r\n",
- .{
- msg.subject,
- msg.sid,
- msg.reply_to orelse "",
- msg.payload.len,
- msg.payload,
- },
- );
}
test {