stream-future
This is a no_std compatible library to author a Future with Stream implemented.
You can author simply with await and yield.
A nightly feature generators is required.
use stream;
async
use StreamExt;
let bar = foo;
pin!;
while let Some = bar.next.await
let bar = bar.await?;
assert_eq!;
use try_stream;
async
let bar = foo;
pin!;
while let Some = bar.try_next.await?
You can specify the yield type in the attribute. Either the yield type or return type could be ().
You can simply await other futures, and the macro will handle that.
Compare with async-stream
You can return any value you like! The caller can simply await and get the value without iterate the stream.
This library is 7x faster than async-stream, according to our benchmark.