forked from goodboy/tractor
666 B
666 B
Add tokio-style broadcast channels as a solution for #204 and discussed thoroughly in trio/#987.
This gives us local task broadcast functionality using a new BroadcastReceiver type which can wrap trio.ReceiveChannel and provide fan-out copies of a stream of data to every subscribed consumer. We use this new machinery to provide a ReceiveMsgStream.subscribe() async context manager which can be used by actor-local concumers tasks to easily pull from a shared and dynamic IPC stream.