pub trait StreamExtFinalizationCallback: Stream + Sized {
// Provided method
fn on_complete_or_cancellation<FinalizationFn, FnFut>(
self,
finalization_fn: FinalizationFn,
) -> StreamWithFinalizationCallback<Self, FinalizationFn, FnFut>
where FinalizationFn: FnOnce() -> FnFut,
FnFut: Future<Output = ()> + Send + 'static { ... }
}
Expand description
The extension trait that adds .on_complete_or_cancellation(...)
to all Stream
s.
To use it, do:
use ogre_stream_ext::StreamExtFinalizationCallback;
use futures::StreamExt; // if you also want .map()
, .filter()
, etc.
Then: let lock = …; mystream .map(|x| …) .on_complete_or_cancellation(move || future::ready(drop(lock)))
Provided Methods§
fn on_complete_or_cancellation<FinalizationFn, FnFut>( self, finalization_fn: FinalizationFn, ) -> StreamWithFinalizationCallback<Self, FinalizationFn, FnFut>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.