Skip to main content

Operator

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>> { ... }
}

Required Methods§

Source

fn id(&self) -> FlowNodeId

Source

fn apply(&self, txn: &mut FlowTransaction, change: Change) -> Result<Change>

Source

fn pull(&self, txn: &mut FlowTransaction, rows: &[RowNumber]) -> Result<Columns>

Provided Methods§

Source

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.

Implementors§