let (tx, rx) = async_channel::bounded(2);
smol::spawn(async move {
let d = rx.recv().await;
println!("Data: {}", d);
});
async_io::Timer::after(Duration::from_secs(1)).await;
tx.send("Hello World!".to_owned()).await;
tokio::task::spawn_blocking
!Waker
to any relevant tasks