From what I've understood the existing message blocks (e.g unbounded_buffer) always propagate messages to the first target that accepts it. Is there a good way to "broadcast" messages to all targets?
e.g.
unbounded_buffer<int> source;
unbounded_buffer<int> target1
unbounded_buffer<int> target2;
source.link_target(&target1);
source.link_target(&target2);
send(source, 1);
std::cout << receive(target1);
std::cout << receive(target2);
// output: 11