summaryrefslogtreecommitdiff
path: root/src/server/Client.zig
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-04 20:25:30 -0500
committerRobby Zambito <contact@robbyzambito.me>2026-01-04 20:57:31 -0500
commit69528a1b72bc578430e3a3e12d7cd63680986c29 (patch)
treebccc5fabd0e3966080cec90da9041156734719ee /src/server/Client.zig
parente81bcda9208a01daa87ab5f74fa27439c2fd05f3 (diff)
Probe for optimal network buffer size.
We want to match the underlying system socket buffer. Filling this buffer minimizes the number of syscalls we do. Larger would be a waste. Also changed parser to use enums that more closely match the NATS message types.
Diffstat (limited to 'src/server/Client.zig')
-rw-r--r--src/server/Client.zig18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/server/Client.zig b/src/server/Client.zig
index 53a66b9..1e93360 100644
--- a/src/server/Client.zig
+++ b/src/server/Client.zig
@@ -41,29 +41,29 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator) !void {
for (0..len) |i| {
const msg = msgs[i];
defer switch (msg) {
- .msg => |m| m.deinit(alloc),
- .hmsg => |h| h.deinit(alloc),
+ .MSG => |m| m.deinit(alloc),
+ .HMSG => |h| h.deinit(alloc),
else => {},
};
errdefer for (msgs[i + 1 .. len]) |mg| switch (mg) {
- .msg => |m| {
+ .MSG => |m| {
m.deinit(alloc);
},
else => {},
};
switch (msg) {
- .@"+ok" => {
+ .@"+OK" => {
_ = try self.to_client.write("+OK\r\n");
},
- .pong => {
+ .PONG => {
_ = try self.to_client.write("PONG\r\n");
},
- .info => |info| {
+ .INFO => |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| {
+ .MSG => |m| {
@branchHint(.likely);
try self.to_client.print(
"MSG {s} {s} {s} {d}\r\n{s}\r\n",
@@ -76,7 +76,7 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator) !void {
},
);
},
- .hmsg => |hmsg| {
+ .HMSG => |hmsg| {
@branchHint(.likely);
try self.to_client.print("HMSG {s} {s} {s} {d} {d}\r\n{s}\r\n", .{
hmsg.msg.subject,
@@ -87,7 +87,7 @@ pub fn start(self: *Client, io: std.Io, alloc: std.mem.Allocator) !void {
hmsg.msg.payload,
});
},
- .@"-err" => |s| {
+ .@"-ERR" => |s| {
_ = try self.to_client.print("-ERR '{s}'\r\n", .{s});
},
else => |m| {