diff options
Diffstat (limited to 'src/channel.zig')
-rw-r--r-- | src/channel.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/channel.zig b/src/channel.zig index 7687afa..6367463 100644 --- a/src/channel.zig +++ b/src/channel.zig @@ -13,6 +13,7 @@ pub const Error = error{ pub const Message = struct { bytes: []const u8, refcount: usize = 1, + process_filter: u16, fn addReference(self: *Message) !void { self.refcount = try std.math.add(usize, self.refcount, 1); @@ -55,11 +56,11 @@ pub fn leave(pid: usize, id: usize) void { } // The channel takes ownership of `bytes`. -pub fn pass(id: usize, bytes: []const u8) !void { +pub fn pass(id: usize, receiver: u16, bytes: []const u8) !void { const message = try alloc.create(Message); defer message.dropReference(); - message.* = .{ .bytes = bytes }; + message.* = .{ .bytes = bytes, .process_filter = receiver }; var it = joined.iterator(); while (it.next()) |queues| { |