use futures_util::StreamExt;
fn main() -> Result<(), async_nats::Error> {
let rt = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()?;
let client = rt.block_on(async_nats::connect("nats://localhost:4222"))?;
let subscription = rt.block_on(client.subscribe("foo"))?;
let mut subscription = subscription.take(10);
for _ in 0..10 {
rt.block_on(client.publish("foo", "Hello, sync code!".into()))?;
}
while let Some(message) = rt.block_on(subscription.next()) {
println!("Received message {message:?}");
}
rt.block_on(async {
drop(subscription);
drop(client);
});
Ok(())
}