connection: eliminate String method variants

After contemplating this for a little bit, there's no point in exposing
these separately from the plain variants. Even nats.c internally calls
its plain variants after calling `strlen` on the input. Zig benefits
from having nicer pointer types than C, so we get "string" handling
for free from the fact that the standard variants take slices anyway.
This commit is contained in:
torque 2023-08-23 22:27:33 -07:00
parent 1256feb7ef
commit 65ab46f714
Signed by: torque
SSH Key Fingerprint: SHA256:nCrXefBNo6EbjNSQhv0nXmEg/VuNq3sMF5b8zETw3Tk
2 changed files with 2 additions and 47 deletions

View File

@ -15,7 +15,7 @@ fn onMessage(
}); });
if (message.getReply()) |reply| { if (message.getReply()) |reply| {
connection.publishString(reply, "salutations") catch @panic("HELP"); connection.publish(reply, "salutations") catch @panic("HELP");
} }
userdata.* = true; userdata.* = true;
@ -30,7 +30,7 @@ pub fn main() !void {
defer subscription.destroy(); defer subscription.destroy();
while (!done) { while (!done) {
const reply = try connection.requestString("channel", "greetings", 1000); const reply = try connection.request("channel", "greetings", 1000);
defer reply.destroy(); defer reply.destroy();
std.debug.print("Reply \"{s}\" got message: {s}\n", .{ std.debug.print("Reply \"{s}\" got message: {s}\n", .{

View File

@ -244,16 +244,6 @@ pub const Connection = opaque {
).raise(); ).raise();
} }
pub fn publishString(
self: *Connection,
subject: [:0]const u8,
message: [:0]const u8,
) Error!void {
return Status.fromInt(
nats_c.natsConnection_PublishString(@ptrCast(self), subject.ptr, message.ptr),
).raise();
}
pub fn publishMessage(self: *Connection, message: *Message) Error!void { pub fn publishMessage(self: *Connection, message: *Message) Error!void {
return Status.fromInt( return Status.fromInt(
nats_c.natsConnection_PublishMsg(@ptrCast(self), @ptrCast(message)), nats_c.natsConnection_PublishMsg(@ptrCast(self), @ptrCast(message)),
@ -277,22 +267,6 @@ pub const Connection = opaque {
).raise(); ).raise();
} }
pub fn publishRequestString(
self: *Connection,
subject: [:0]const u8,
reply: [:0]const u8,
message: [:0]const u8,
) Error!void {
return Status.fromInt(
nats_c.natsConnection_PublishRequestString(
@ptrCast(self),
subject.ptr,
reply.ptr,
message.ptr,
),
).raise();
}
pub fn request( pub fn request(
self: *Connection, self: *Connection,
subject: [:0]const u8, subject: [:0]const u8,
@ -313,25 +287,6 @@ pub const Connection = opaque {
return status.toError() orelse response; return status.toError() orelse response;
} }
pub fn requestString(
self: *Connection,
subject: [:0]const u8,
req: [:0]const u8,
timeout: i64,
) Error!*Message {
var response: *Message = undefined;
const status = Status.fromInt(nats_c.natsConnection_RequestString(
@ptrCast(&response),
@ptrCast(self),
subject.ptr,
req.ptr,
timeout,
));
return status.toError() orelse response;
}
pub fn requestMessage( pub fn requestMessage(
self: *Connection, self: *Connection,
req: *Message, req: *Message,