pub trait WindowTrigger<W>: Send + Sync{
// Required methods
fn on_element(
&mut self,
timestamp: DateTime<Utc>,
window: &W,
) -> TriggerResult;
fn on_processing_time(
&mut self,
time: DateTime<Utc>,
window: &W,
) -> TriggerResult;
fn on_event_time(
&mut self,
watermark: DateTime<Utc>,
window: &W,
) -> TriggerResult;
fn clear(&mut self, window: &W);
fn clone_trigger(&self) -> Box<dyn WindowTrigger<W>>;
}Expand description
Trait for window triggers that determine when to emit results.
Triggers are fired based on:
- Element arrival
- Processing time advance
- Event time (watermark) advance
Required Methods§
Sourcefn on_element(&mut self, timestamp: DateTime<Utc>, window: &W) -> TriggerResult
fn on_element(&mut self, timestamp: DateTime<Utc>, window: &W) -> TriggerResult
Called when an element is added to a window.
Sourcefn on_processing_time(
&mut self,
time: DateTime<Utc>,
window: &W,
) -> TriggerResult
fn on_processing_time( &mut self, time: DateTime<Utc>, window: &W, ) -> TriggerResult
Called when processing time advances.
Sourcefn on_event_time(
&mut self,
watermark: DateTime<Utc>,
window: &W,
) -> TriggerResult
fn on_event_time( &mut self, watermark: DateTime<Utc>, window: &W, ) -> TriggerResult
Called when the watermark (event time) advances.
Sourcefn clone_trigger(&self) -> Box<dyn WindowTrigger<W>>
fn clone_trigger(&self) -> Box<dyn WindowTrigger<W>>
Creates a clone of this trigger.