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 UnsafeUnpin for StreamingTopKOperator
impl !UnwindSafe for StreamingTopKOperator
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
§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.