pub enum EmitClause {
AfterWatermark,
OnWindowClose,
Periodically {
interval: Box<Expr>,
},
OnUpdate,
Changes,
Final,
}Expand description
Parsed EMIT strategy.
Variants§
AfterWatermark
Emit when the watermark passes the window end.
OnWindowClose
Emit only when the window closes; this is distinct from AfterWatermark.
Periodically
Emit intermediate results periodically and final results on watermark.
OnUpdate
Emit after every state change.
Changes
Emit Z-set changelog weights, including retraction pairs for updates.
Final
Emit only finalized results and drop data arriving after window close.
Implementations§
Source§impl EmitClause
impl EmitClause
Sourcepub fn to_emit_strategy(&self) -> Result<EmitStrategy, ParseError>
pub fn to_emit_strategy(&self) -> Result<EmitStrategy, ParseError>
§Errors
Returns ParseError::WindowError if the periodic interval cannot be parsed.
Sourcepub fn requires_changelog(&self) -> bool
pub fn requires_changelog(&self) -> bool
Whether the strategy can emit retractions.
Sourcepub fn is_append_only(&self) -> bool
pub fn is_append_only(&self) -> bool
Whether the strategy produces no retractions.
Sourcepub fn requires_watermark(&self) -> bool
pub fn requires_watermark(&self) -> bool
Whether output depends on source watermark advancement.
OnWindowClose, Final, and AfterWatermark all depend on watermark
advancement to trigger window closure. Without a watermark, timers will
never fire and windows will never close.
Trait Implementations§
Source§impl Clone for EmitClause
impl Clone for EmitClause
Source§fn clone(&self) -> EmitClause
fn clone(&self) -> EmitClause
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmitClause
impl Debug for EmitClause
Source§impl Display for EmitClause
impl Display for EmitClause
Source§impl PartialEq for EmitClause
impl PartialEq for EmitClause
impl StructuralPartialEq for EmitClause
Auto Trait Implementations§
impl Freeze for EmitClause
impl RefUnwindSafe for EmitClause
impl Send for EmitClause
impl Sync for EmitClause
impl Unpin for EmitClause
impl UnsafeUnpin for EmitClause
impl UnwindSafe for EmitClause
Blanket Implementations§
impl<T> Allocation for T
§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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
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>,
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>
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.