5 unstable releases
0.3.0 | Feb 1, 2023 |
---|---|
0.2.0 | Oct 13, 2021 |
0.1.2 | Oct 22, 2020 |
0.1.1 | Oct 4, 2020 |
0.1.0 | Oct 3, 2020 |
#1387 in Asynchronous
6,941 downloads per month
Used in 11 crates
(4 directly)
11KB
267 lines
transform-stream
Lightweight async stream wrapper.
Documentation: https://docs.rs/transform-stream/
Inspired by https://github.com/tokio-rs/async-stream
lib.rs
:
Lightweight async stream wrapper.
Inspired by https://github.com/tokio-rs/async-stream
Usage
use transform_stream::{try_stream, AsyncTryStream};
use futures_util::{pin_mut, StreamExt};
use std::io;
let stream: AsyncTryStream<Vec<u8>, io::Error, _> = try_stream!{
yield_!(vec![b'1', b'2']);
yield_!(vec![b'3', b'4']);
Ok(())
};
futures_executor::block_on(async {
pin_mut!(stream);
assert_eq!(stream.next().await.unwrap().unwrap(), vec![b'1', b'2']);
assert_eq!(stream.next().await.unwrap().unwrap(), vec![b'3', b'4']);
assert!(stream.next().await.is_none());
});
Dependencies
~25KB