blob: 15d7b6667ca23fad65f68b6a26a63f2d80ac026f [file] [log] [blame]
use futures_util::StreamExt as _;
use redis::AsyncCommands;
#[tokio::main]
async fn main() -> redis::RedisResult<()> {
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let mut publish_conn = client.get_async_connection().await?;
let mut pubsub_conn = client.get_async_connection().await?.into_pubsub();
pubsub_conn.subscribe("wavephone").await?;
let mut pubsub_stream = pubsub_conn.on_message();
publish_conn.publish("wavephone", "banana").await?;
let pubsub_msg: String = pubsub_stream.next().await.unwrap().get_payload()?;
assert_eq!(&pubsub_msg, "banana");
Ok(())
}