Stream — produce values. Sink — consume values.
Stream:
Sink:
1use futures::stream::{self, StreamExt};2use futures::sink::SinkExt;34// Stream: produce5let mut stream = stream::iter(vec![1, 2, 3]);6while let Some(val) = stream.next().await {7 println!("{}", val);8}910// Sink: consume11let (tx, mut rx) = tokio::sync::mpsc::channel(32);12tx.send("hello").await.unwrap();
Key: Stream for producing, Sink for consuming.