|0.1.0||Feb 21, 2022|
#1040 in Asynchronous
This crate allows you to make any [Future] to a futures::Stream by yielding the futures' result when its ready and calling it over and over again to endlessly produce results.
With the default-enabled feature
streams this crate provides a handy [FutureStream] which makes a futures::Stream out
of any [Future] and streams the results of that [Future] until the underlying future fails.
Look at the stream-example to see how easy life can get. Its a sub-50-lines file which completely converts rumqttc to a futures::Stream.
With disabled feature
streams it anyhow defines helpers and a final [RepeatingFuture] that
constructs a [Future] which gets a [Future] from a function of an object and forwards its result. When the underlying function is Poll::Ready, the function-future is acquired again.
It can be used iE for streaming items from an
async-function that just delivers one
result per call.
Add this crate to your Cargo.toml
repeating_future = "0.1.0"
and use it in your main.rs:
cargo run --example manual or
cargo run --example stream