Read from stdin over a Tokio channel
This is useful for interactive programs that read from stdin while waiting for other events to occur.
Add this to your Cargo.toml:
[dependencies]
async-stdin = "0.3.1"
You can read from stdin like so:
use async_stdin::recv_from_stdin;
#[tokio::main]
async fn main() {
let mut rx = recv_from_stdin(10);
while let Some(s) = rx.recv().await {
println!("Received: {}", s);
}
}