pub trait WatermarkGenerator: Send + Sync {
// Required methods
fn on_event(&mut self, timestamp: i64, partition: u32) -> Option<Watermark>;
fn on_periodic_check(&mut self) -> Option<Watermark>;
fn current_watermark(&self) -> Watermark;
fn reset(&mut self);
fn partition_watermark(&self, partition: u32) -> Option<Watermark>;
}Expand description
Trait for generating watermarks from event streams
Required Methods§
Sourcefn on_periodic_check(&mut self) -> Option<Watermark>
fn on_periodic_check(&mut self) -> Option<Watermark>
Called periodically to check if a watermark should be emitted
§Returns
An optional watermark if one should be emitted
Sourcefn current_watermark(&self) -> Watermark
fn current_watermark(&self) -> Watermark
Gets the current watermark without advancing it
Sourcefn partition_watermark(&self, partition: u32) -> Option<Watermark>
fn partition_watermark(&self, partition: u32) -> Option<Watermark>
Gets the watermark for a specific partition
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".