Rust provides asynchronous channels for communication between tasks. Channels allow an unidirectional flow of information between two end-points: the Sender and the Receiver.
channels
Sender
Receiver
{channels.play}