pub struct BoundedOutOfOrdernessGenerator { /* private fields */ }Expand description
Watermark = max_timestamp_seen - max_out_of_orderness. on_event
ignores timestamps far beyond wall clock for advancement.
Implementations§
Source§impl BoundedOutOfOrdernessGenerator
impl BoundedOutOfOrdernessGenerator
Sourcepub fn new(max_out_of_orderness: i64) -> Self
pub fn new(max_out_of_orderness: i64) -> Self
Creates a new generator with the specified maximum out-of-orderness.
§Arguments
max_out_of_orderness- Maximum allowed lateness in milliseconds
Sourcepub fn with_max_future_skew(self, skew_ms: i64) -> Self
pub fn with_max_future_skew(self, skew_ms: i64) -> Self
Sets the future-skew ceiling; <= 0 disables the guard.
Sourcepub fn from_duration(max_out_of_orderness: Duration) -> Self
pub fn from_duration(max_out_of_orderness: Duration) -> Self
Creates a new generator from a Duration.
Sourcepub fn max_out_of_orderness(&self) -> i64
pub fn max_out_of_orderness(&self) -> i64
Returns the maximum out-of-orderness in milliseconds.
Trait Implementations§
Source§impl WatermarkGenerator for BoundedOutOfOrdernessGenerator
impl WatermarkGenerator for BoundedOutOfOrdernessGenerator
Source§fn on_event(&mut self, timestamp: i64) -> Option<Watermark>
fn on_event(&mut self, timestamp: i64) -> Option<Watermark>
Process an event timestamp and potentially emit a new watermark. Read more
Source§fn on_periodic(&mut self) -> Option<Watermark>
fn on_periodic(&mut self) -> Option<Watermark>
Called periodically to emit watermarks based on wall-clock time. Read more
Source§fn current_watermark(&self) -> i64
fn current_watermark(&self) -> i64
Returns the current watermark value without advancing it.
Source§fn advance_watermark(&mut self, timestamp: i64) -> Option<Watermark>
fn advance_watermark(&mut self, timestamp: i64) -> Option<Watermark>
Advances the watermark to at least the given timestamp from an external source. Read more
Source§fn is_processing_time(&self) -> bool
fn is_processing_time(&self) -> bool
Whether the watermark is processing-time based (wall clock), rather than
derived from the event-time column. Such a watermark lives in a different
time domain than the event timestamps, so comparing the two to drop “late”
rows would discard every event — callers skip source-side late-filtering
when this is
true. Defaults to false (event-time generators).Auto Trait Implementations§
impl Freeze for BoundedOutOfOrdernessGenerator
impl RefUnwindSafe for BoundedOutOfOrdernessGenerator
impl Send for BoundedOutOfOrdernessGenerator
impl Sync for BoundedOutOfOrdernessGenerator
impl Unpin for BoundedOutOfOrdernessGenerator
impl UnsafeUnpin for BoundedOutOfOrdernessGenerator
impl UnwindSafe for BoundedOutOfOrdernessGenerator
Blanket Implementations§
impl<T> Allocation for T
§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
§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§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.