@@ -12,7 +12,7 @@ pub fn send(s: Subscribe, any: *AnyWriter) !void {
var fbs = std.io.fixedBufferStream(&buffer);
var w = fbs.writer();
log.err("writing subscribe packet", .{});
log.debug("writing subscribe packet", .{});
try w.writeInt(u16, 10, .big);
try w.writeByte(0); // No props
for (s.channels) |ch| {
@@ -21,7 +21,7 @@ pub fn send(s: Subscribe, any: *AnyWriter) !void {
try w.writeByte(0x01); // options
}
const pkt: Packet = .{
.header = .{ .kind = .SUBSCRIBE, .flags = try Packet.ControlType.SUBSCRIBE.flags() },
.header = .{ .kind = .subscribe, .flags = try Packet.ControlType.subscribe.flags() },
.body = fbs.getWritten(),
};
try pkt.send(any);
@@ -34,6 +34,20 @@ pub const Ack = struct {
}
};
test Subscribe {
const c = Subscribe{ .channels = &[1][]const u8{
"subscribe",
} };
var buffer: [0xffff]u8 = undefined;
var fbs = std.io.fixedBufferStream(&buffer);
var writer = fbs.writer();
var any = writer.any();
try c.send(&any);
try std.testing.expectEqual(fbs.pos, 17);
}
const Packet = @import("Packet.zig");
const std = @import("std");