pub struct StreamingTopKOperator { /* private fields */ }Expand description
Streaming top-K operator for ORDER BY ... LIMIT N.
Maintains a sorted buffer of at most K entries. Each incoming event is checked against the current worst entry. If better, it replaces the worst and changelog records are emitted.
Implementations§
Source§impl StreamingTopKOperator
impl StreamingTopKOperator
Sourcepub fn new(
operator_id: String,
k: usize,
sort_columns: Vec<TopKSortColumn>,
emit_strategy: TopKEmitStrategy,
) -> Self
pub fn new( operator_id: String, k: usize, sort_columns: Vec<TopKSortColumn>, emit_strategy: TopKEmitStrategy, ) -> Self
Creates a new streaming top-K operator.
Sourcepub fn current_watermark(&self) -> i64
pub fn current_watermark(&self) -> i64
Returns the current watermark value.
Sourcepub fn pending_changes_count(&self) -> usize
pub fn pending_changes_count(&self) -> usize
Returns the number of pending changelog records.
Trait Implementations§
Source§impl Operator for StreamingTopKOperator
impl Operator for StreamingTopKOperator
Source§fn process(
&mut self,
event: &Event,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
fn process( &mut self, event: &Event, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Process an incoming event
Source§fn on_timer(
&mut self,
_timer: Timer,
_ctx: &mut OperatorContext<'_>,
) -> OutputVec
fn on_timer( &mut self, _timer: Timer, _ctx: &mut OperatorContext<'_>, ) -> OutputVec
Handle timer expiration
Source§fn checkpoint(&self) -> OperatorState
fn checkpoint(&self) -> OperatorState
Checkpoint the operator’s state
Source§fn restore(&mut self, state: OperatorState) -> Result<(), OperatorError>
fn restore(&mut self, state: OperatorState) -> Result<(), OperatorError>
Restore from a checkpoint Read more
Auto Trait Implementations§
impl Freeze for StreamingTopKOperator
impl !RefUnwindSafe for StreamingTopKOperator
impl Send for StreamingTopKOperator
impl Sync for StreamingTopKOperator
impl Unpin for StreamingTopKOperator
impl !UnwindSafe for StreamingTopKOperator
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§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.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.