pub trait WindowExt: Stream {
    // Provided methods
    fn tumbling_window<'a>(
        self,
        window_size: usize
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Unpin + Sized + 'a,
             Self::Item: Clone { ... }
    fn tumbling_window_unpin<'a>(
        self,
        window_size: usize
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Sized + 'a,
             Self::Item: Clone { ... }
    fn sliding_window<'a>(
        self,
        window_size: usize
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Unpin + Sized + 'a,
             Self::Item: Clone { ... }
    fn sliding_window_unpin<'a>(
        self,
        window_size: usize
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Sized + 'a,
             Self::Item: Clone { ... }
    fn periodic_window<'a, CT>(
        self,
        clock_stream: impl Stream<Item = CT> + Unpin + 'a,
        emit_last: bool
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Unpin + Sized + 'a { ... }
    fn periodic_window_unpin<'a, CT>(
        self,
        clock_stream: impl Stream<Item = CT> + 'a,
        emit_last: bool
    ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>
       where Self: Sized + 'a { ... }
}
Expand description

Wrappers for actual window implementations, as an extension trait.

Provided Methods§

source

fn tumbling_window<'a>( self, window_size: usize ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Unpin + Sized + 'a, Self::Item: Clone,

source

fn tumbling_window_unpin<'a>( self, window_size: usize ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Sized + 'a, Self::Item: Clone,

source

fn sliding_window<'a>( self, window_size: usize ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Unpin + Sized + 'a, Self::Item: Clone,

source

fn sliding_window_unpin<'a>( self, window_size: usize ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Sized + 'a, Self::Item: Clone,

source

fn periodic_window<'a, CT>( self, clock_stream: impl Stream<Item = CT> + Unpin + 'a, emit_last: bool ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Unpin + Sized + 'a,

source

fn periodic_window_unpin<'a, CT>( self, clock_stream: impl Stream<Item = CT> + 'a, emit_last: bool ) -> Pin<Box<dyn Stream<Item = Vec<Self::Item>> + 'a>>where Self: Sized + 'a,

Implementors§

source§

impl<S> WindowExt for Swhere S: Stream,