Skip to main content

InputConnection

Trait InputConnection 

Source
pub trait InputConnection<T: Timestamp> {
    type Capability;

    // Required methods
    fn describe(&self, outputs: usize) -> Vec<Antichain<T::Summary>>;
    fn accept(&self, input_cap: InputCapability<T>) -> Self::Capability;
}
Expand description

A trait describing the connection behavior between an input of an operator and zero or more of its outputs.

The connected inputs (ConnectedToOne, ConnectedToMany) hand the operator body the message’s capabilities as a CapabilitySet per output, which works in any scope. An operator that wants a single point calls CapabilitySet::delayed, or sole_capability in a totally ordered scope. Disconnected holds no capability at all and so reports the message’s stamp as plain times.

Required Associated Types§

Source

type Capability

The capability type associated with this connection behavior.

Required Methods§

Source

fn describe(&self, outputs: usize) -> Vec<Antichain<T::Summary>>

Generates a summary description of the connection behavior given the number of outputs.

Source

fn accept(&self, input_cap: InputCapability<T>) -> Self::Capability

Accepts an input capability.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§