use async_duplex_channel::*;
use std::time::Duration;
use tokio::runtime::Runtime;
fn main() {
let rt = Runtime::new().unwrap();
rt.block_on(async {
let (client, responder_builder) = channel(64, Duration::from_secs(2));
let responder = responder_builder.build(|req: String| async move { req });
tokio::spawn(async move {
responder.process_requests().await.unwrap();
});
let response = client.request("Hello, world!".to_string()).await.unwrap();
println!("Response: {}", response);
});
}