pub struct KeyWatermarkState {
pub max_event_time: i64,
pub watermark: i64,
pub last_activity: Instant,
pub is_idle: bool,
}Expand description
Per-key watermark state.
Tracks the maximum event time seen for a key and computes its watermark using bounded out-of-orderness.
Fields§
§max_event_time: i64Maximum event time seen for this key
watermark: i64Current watermark (max_event_time - bounded_delay)
last_activity: InstantLast activity time (wall clock)
is_idle: boolWhether this key is marked idle
Implementations§
Source§impl KeyWatermarkState
impl KeyWatermarkState
Sourcepub fn update(
&mut self,
event_time: i64,
bounded_delay: i64,
now: Instant,
) -> bool
pub fn update( &mut self, event_time: i64, bounded_delay: i64, now: Instant, ) -> bool
Updates state with a new event timestamp.
Returns true if the watermark advanced.
The now parameter should be the current processing time, cached once
per batch or poll iteration to avoid per-key Instant::now() syscalls.
Trait Implementations§
Source§impl Clone for KeyWatermarkState
impl Clone for KeyWatermarkState
Source§fn clone(&self) -> KeyWatermarkState
fn clone(&self) -> KeyWatermarkState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KeyWatermarkState
impl Debug for KeyWatermarkState
Auto Trait Implementations§
impl Freeze for KeyWatermarkState
impl RefUnwindSafe for KeyWatermarkState
impl Send for KeyWatermarkState
impl Sync for KeyWatermarkState
impl Unpin for KeyWatermarkState
impl UnsafeUnpin for KeyWatermarkState
impl UnwindSafe for KeyWatermarkState
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.