fn main() {
let spawner: ato::Spawner<2> = ato::Spawner::default();
ato::channel!(hello, u32, 2);
let consumer = hello.1.clone();
ato::spawn_task!(spawner, res, {
for _ in 0..5 {
let msg = consumer.recv().await;
println!("Received: {}", msg);
}
});
if let Err(e) = res {
panic!("Failed to spawn task: {:?}", e);
}
ato::spawn_task!(spawner, res, {
for i in 0..5 {
println!("Sending: {}", i);
hello.0.send(i).await;
ato::yield_now().await;
}
});
if let Err(e) = res {
panic!("Failed to spawn task: {:?}", e);
}
spawner.run_until_all_done().unwrap();
}