pub struct WindowedAggregate {
    pub key_field: String,
    pub win: WindowKind,
    pub agg: AggKind,
    /* private fields */
}Expand description
A stateful windowed aggregation operator supporting different windows & aggregations. A stateful windowed aggregation operator supporting different windows & aggregations.
Examples
use pulse_ops::WindowedAggregate;
// Tumbling count of words per 60s window
let op = WindowedAggregate::tumbling_count("word", 60_000);Fields§
§key_field: String§win: WindowKind§agg: AggKindImplementations§
Source§impl WindowedAggregate
 
impl WindowedAggregate
pub fn tumbling_count(key_field: impl Into<String>, size_ms: i64) -> Self
pub fn tumbling_sum( key_field: impl Into<String>, size_ms: i64, field: impl Into<String>, ) -> Self
pub fn tumbling_avg( key_field: impl Into<String>, size_ms: i64, field: impl Into<String>, ) -> Self
pub fn tumbling_distinct( key_field: impl Into<String>, size_ms: i64, field: impl Into<String>, ) -> Self
pub fn sliding_count( key_field: impl Into<String>, size_ms: i64, slide_ms: i64, ) -> Self
pub fn sliding_sum( key_field: impl Into<String>, size_ms: i64, slide_ms: i64, field: impl Into<String>, ) -> Self
pub fn sliding_avg( key_field: impl Into<String>, size_ms: i64, slide_ms: i64, field: impl Into<String>, ) -> Self
pub fn sliding_distinct( key_field: impl Into<String>, size_ms: i64, slide_ms: i64, field: impl Into<String>, ) -> Self
pub fn session_count(key_field: impl Into<String>, gap_ms: i64) -> Self
pub fn session_sum( key_field: impl Into<String>, gap_ms: i64, field: impl Into<String>, ) -> Self
pub fn session_avg( key_field: impl Into<String>, gap_ms: i64, field: impl Into<String>, ) -> Self
pub fn session_distinct( key_field: impl Into<String>, gap_ms: i64, field: impl Into<String>, ) -> Self
pub fn with_allowed_lateness(self, ms: i64) -> Self
Trait Implementations§
Source§impl Operator for WindowedAggregate
 
impl Operator for WindowedAggregate
fn on_element<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    ctx: &'life1 mut dyn Context,
    rec: Record,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
fn on_watermark<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    ctx: &'life1 mut dyn Context,
    wm: Watermark,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
fn on_timer<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    ctx: &'life1 mut dyn Context,
    when: EventTime,
    _key: Option<Vec<u8>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for WindowedAggregate
impl RefUnwindSafe for WindowedAggregate
impl Send for WindowedAggregate
impl Sync for WindowedAggregate
impl Unpin for WindowedAggregate
impl UnwindSafe for WindowedAggregate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more