pub enum EmitStrategy {
OnWatermark,
Periodic(Duration),
OnUpdate,
OnWindowClose,
Changelog,
Final,
}Expand description
Strategy for when window results should be emitted.
Variants§
OnWatermark
Emit when watermark passes window end (default, most efficient).
Periodic(Duration)
Emit intermediate results at fixed intervals, plus final on watermark.
OnUpdate
Emit after every state change (lowest latency, highest overhead).
OnWindowClose
Emit only when window closes. Append-only safe, no retractions.
SQL: EMIT ON WINDOW CLOSE
Changelog
Emit changelog records with Z-set weights for CDC pipelines.
SQL: EMIT CHANGES
Final
Suppress all intermediate results, emit only finalized.
SQL: EMIT FINAL
Implementations§
Source§impl EmitStrategy
impl EmitStrategy
Sourcepub fn needs_periodic_timer(&self) -> bool
pub fn needs_periodic_timer(&self) -> bool
Returns true if this strategy requires periodic timer registration.
Sourcepub fn periodic_interval(&self) -> Option<Duration>
pub fn periodic_interval(&self) -> Option<Duration>
Returns the periodic interval if this is a periodic strategy.
Sourcepub fn emits_on_update(&self) -> bool
pub fn emits_on_update(&self) -> bool
Returns true if results should be emitted on every update.
Sourcepub fn emits_intermediate(&self) -> bool
pub fn emits_intermediate(&self) -> bool
Returns true if this strategy emits intermediate results before window close.
Sourcepub fn requires_changelog(&self) -> bool
pub fn requires_changelog(&self) -> bool
Returns true if this strategy requires changelog/Z-set support.
Sourcepub fn is_append_only_compatible(&self) -> bool
pub fn is_append_only_compatible(&self) -> bool
Returns true if safe for append-only sinks (no retractions).
Sourcepub fn generates_retractions(&self) -> bool
pub fn generates_retractions(&self) -> bool
Returns true if late data should generate retractions.
Sourcepub fn suppresses_intermediate(&self) -> bool
pub fn suppresses_intermediate(&self) -> bool
Returns true if this strategy should suppress intermediate emissions.
Sourcepub fn drops_late_data(&self) -> bool
pub fn drops_late_data(&self) -> bool
Returns true if late data should be dropped entirely.
Trait Implementations§
Source§impl Clone for EmitStrategy
impl Clone for EmitStrategy
Source§fn clone(&self) -> EmitStrategy
fn clone(&self) -> EmitStrategy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmitStrategy
impl Debug for EmitStrategy
Source§impl Default for EmitStrategy
impl Default for EmitStrategy
Source§fn default() -> EmitStrategy
fn default() -> EmitStrategy
Source§impl PartialEq for EmitStrategy
impl PartialEq for EmitStrategy
impl Eq for EmitStrategy
impl StructuralPartialEq for EmitStrategy
Auto Trait Implementations§
impl Freeze for EmitStrategy
impl RefUnwindSafe for EmitStrategy
impl Send for EmitStrategy
impl Sync for EmitStrategy
impl Unpin for EmitStrategy
impl UnsafeUnpin for EmitStrategy
impl UnwindSafe for EmitStrategy
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§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>
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>
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