pub trait PushOperator: Send + Sync {
// Required methods
fn push(
&mut self,
chunk: DataChunk,
sink: &mut dyn Sink,
) -> Result<bool, OperatorError>;
fn finalize(&mut self, sink: &mut dyn Sink) -> Result<(), OperatorError>;
fn name(&self) -> &'static str;
// Provided method
fn preferred_chunk_size(&self) -> ChunkSizeHint { ... }
}Expand description
Push-based operator trait.
Unlike pull-based operators that return data on next() calls,
push-based operators receive data via push() and forward results
to a downstream sink.
Required Methods§
Sourcefn push(
&mut self,
chunk: DataChunk,
sink: &mut dyn Sink,
) -> Result<bool, OperatorError>
fn push( &mut self, chunk: DataChunk, sink: &mut dyn Sink, ) -> Result<bool, OperatorError>
Process an incoming chunk and push results to the sink.
Returns Ok(true) to continue processing, Ok(false) for early termination.
Provided Methods§
Sourcefn preferred_chunk_size(&self) -> ChunkSizeHint
fn preferred_chunk_size(&self) -> ChunkSizeHint
Hint for preferred chunk size.