Trait Operator
Source pub trait Operator: Send + Sync {
// Required methods
fn id(&self) -> FlowNodeId;
fn apply(&self, txn: &mut FlowTransaction, change: Change) -> Result<Change>;
fn pull(
&self,
txn: &mut FlowTransaction,
rows: &[RowNumber],
) -> Result<Columns>;
// Provided method
fn tick(
&self,
_txn: &mut FlowTransaction,
_timestamp: DateTime,
) -> Result<Option<Change>> { ... }
}
Periodic tick for time-based maintenance (e.g., window eviction).
Returns Some(Change) with diffs if maintenance produced changes.