tractor/newsfragments/229.feature.rst

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.