summaryrefslogtreecommitdiff
path: root/src/server/client.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-12-09 21:15:27 -0500
committerRobby Zambito <contact@robbyzambito.me>2025-12-09 21:16:44 -0500
commit5fd580045d7a9b700005bbd9b85a1b3f40d1f374 (patch)
tree9a1f50a8ca4ba0ca3e5522281db2f43850d01cd5 /src/server/client.zig
parent45e8c4cc0824138b0433f789b4a0a21e77385aef (diff)
Add branch hint for message publish
Diffstat (limited to 'src/server/client.zig')
-rw-r--r--src/server/client.zig13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/client.zig b/src/server/client.zig
index d6ccacf..458bbbb 100644
--- a/src/server/client.zig
+++ b/src/server/client.zig
@@ -40,10 +40,8 @@ pub const ClientState = struct {
self: *ClientState,
io: std.Io,
) void {
- std.debug.print("out pointer in write proc: {*}\n", .{self.to_client});
- std.debug.print("recv queue in write proc: {*}\n", .{&self.recv_queue});
while (true) {
- const message = self.recv_queue.getOne(io) catch continue;
+ const message = self.recv_queue.getOne(io) catch break;
std.debug.print("got message in write loop to send to client: {any}\n", .{message});
switch (message) {
.@"+ok" => {
@@ -56,7 +54,12 @@ pub const ClientState = struct {
writeInfo(self.to_client, info) catch break;
},
.msg => |m| {
- writeMsg(self.to_client, m) catch break;
+ if (writeMsg(self.to_client, m)) |_| {
+ @branchHint(.likely);
+ } else |_| {
+ @branchHint(.unlikely);
+ break;
+ }
},
else => {
std.debug.panic("unimplemented write", .{});
@@ -91,7 +94,7 @@ fn writeOk(out: *std.Io.Writer) !void {
try out.flush();
}
-pub fn writePong(out: *std.Io.Writer) !void {
+fn writePong(out: *std.Io.Writer) !void {
std.debug.print("out pointer: {*}\n", .{out});
std.debug.print("writing pong\n", .{});
_ = try out.write("PONG\r\n");