Trait StreamExtFinalizationCallback

Source
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 Streams.

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§

Source

fn on_complete_or_cancellation<FinalizationFn, FnFut>( self, finalization_fn: FinalizationFn, ) -> StreamWithFinalizationCallback<Self, FinalizationFn, FnFut>
where FinalizationFn: FnOnce() -> FnFut, FnFut: Future<Output = ()> + Send + 'static,

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.

Implementors§