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§
Sourcetype Capability
type Capability
The capability type associated with this connection behavior.
Required Methods§
Sourcefn describe(&self, outputs: usize) -> Vec<Antichain<T::Summary>>
fn describe(&self, outputs: usize) -> Vec<Antichain<T::Summary>>
Generates a summary description of the connection behavior given the number of outputs.
Sourcefn accept(&self, input_cap: InputCapability<T>) -> Self::Capability
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".