Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub trait Middleware<Item>: Debug + Send {
- fn create<In>(self, previous: In) -> Pin<Box<dyn Stream<Item = Item>>>
- where
- In: Stream<Item = Item> + 'static,
- Self: Sized + Clone;
- }
- pub trait MiddlewareExt: Stream {
- fn use_middleware<M>(self, middleware: M) -> Pin<Box<dyn Stream<Item = Self::Item>>>
- where
- M: Middleware<Self::Item> + Clone,
- Self: Sized + 'static,
- {
- middleware.create(self)
- }
- }
- impl<T: Stream> MiddlewareExt for T {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement