Struct timely::dataflow::operators::generic::builder_rc::OperatorBuilder
source · pub struct OperatorBuilder<G: Scope> { /* private fields */ }
Expand description
Builds operators with generic shape.
Implementations§
source§impl<G: Scope> OperatorBuilder<G>
impl<G: Scope> OperatorBuilder<G>
sourcepub fn new(name: String, scope: G) -> Self
pub fn new(name: String, scope: G) -> Self
Allocates a new generic operator builder from its containing scope.
sourcepub fn set_notify(&mut self, notify: bool)
pub fn set_notify(&mut self, notify: bool)
Indicates whether the operator requires frontier information.
sourcepub fn new_input<C: Container, P>(
&mut self,
stream: &StreamCore<G, C>,
pact: P,
) -> InputHandleCore<G::Timestamp, C, P::Puller>where
P: ParallelizationContract<G::Timestamp, C>,
pub fn new_input<C: Container, P>(
&mut self,
stream: &StreamCore<G, C>,
pact: P,
) -> InputHandleCore<G::Timestamp, C, P::Puller>where
P: ParallelizationContract<G::Timestamp, C>,
Adds a new input to a generic operator builder, returning the Pull
implementor to use.
sourcepub fn new_input_connection<C: Container, P>(
&mut self,
stream: &StreamCore<G, C>,
pact: P,
connection: Vec<Antichain<<G::Timestamp as Timestamp>::Summary>>,
) -> InputHandleCore<G::Timestamp, C, P::Puller>where
P: ParallelizationContract<G::Timestamp, C>,
pub fn new_input_connection<C: Container, P>(
&mut self,
stream: &StreamCore<G, C>,
pact: P,
connection: Vec<Antichain<<G::Timestamp as Timestamp>::Summary>>,
) -> InputHandleCore<G::Timestamp, C, P::Puller>where
P: ParallelizationContract<G::Timestamp, C>,
Adds a new input with connection information to a generic operator builder, returning the Pull
implementor to use.
The connection
parameter contains promises made by the operator for each of the existing outputs, that any timestamp
appearing at the input, any output timestamp will be greater than or equal to the input timestamp subjected to a Summary
greater or equal to some element of the corresponding antichain in connection
.
Commonly the connections are either the unit summary, indicating the same timestamp might be produced as output, or an empty antichain indicating that there is no connection from the input to the output.
sourcepub fn new_output<CB: ContainerBuilder>(
&mut self,
) -> (OutputWrapper<G::Timestamp, CB, Tee<G::Timestamp, CB::Container>>, StreamCore<G, CB::Container>)
pub fn new_output<CB: ContainerBuilder>( &mut self, ) -> (OutputWrapper<G::Timestamp, CB, Tee<G::Timestamp, CB::Container>>, StreamCore<G, CB::Container>)
Adds a new output to a generic operator builder, returning the Push
implementor to use.
sourcepub fn new_output_connection<CB: ContainerBuilder>(
&mut self,
connection: Vec<Antichain<<G::Timestamp as Timestamp>::Summary>>,
) -> (OutputWrapper<G::Timestamp, CB, Tee<G::Timestamp, CB::Container>>, StreamCore<G, CB::Container>)
pub fn new_output_connection<CB: ContainerBuilder>( &mut self, connection: Vec<Antichain<<G::Timestamp as Timestamp>::Summary>>, ) -> (OutputWrapper<G::Timestamp, CB, Tee<G::Timestamp, CB::Container>>, StreamCore<G, CB::Container>)
Adds a new output with connection information to a generic operator builder, returning the Push
implementor to use.
The connection
parameter contains promises made by the operator for each of the existing inputs, that any timestamp
appearing at the input, any output timestamp will be greater than or equal to the input timestamp subjected to a Summary
greater or equal to some element of the corresponding antichain in connection
.
Commonly the connections are either the unit summary, indicating the same timestamp might be produced as output, or an empty antichain indicating that there is no connection from the input to the output.
sourcepub fn build<B, L>(self, constructor: B)where
B: FnOnce(Vec<Capability<G::Timestamp>>) -> L,
L: FnMut(&[MutableAntichain<G::Timestamp>]) + 'static,
pub fn build<B, L>(self, constructor: B)where
B: FnOnce(Vec<Capability<G::Timestamp>>) -> L,
L: FnMut(&[MutableAntichain<G::Timestamp>]) + 'static,
Creates an operator implementation from supplied logic constructor.
sourcepub fn build_reschedule<B, L>(self, constructor: B)where
B: FnOnce(Vec<Capability<G::Timestamp>>) -> L,
L: FnMut(&[MutableAntichain<G::Timestamp>]) -> bool + 'static,
pub fn build_reschedule<B, L>(self, constructor: B)where
B: FnOnce(Vec<Capability<G::Timestamp>>) -> L,
L: FnMut(&[MutableAntichain<G::Timestamp>]) -> bool + 'static,
Creates an operator implementation from supplied logic constructor.
Unlike build
, the supplied closure can indicate if the operator
should be considered incomplete. The build
method indicates that
the operator is never incomplete and can be shut down at the system’s
discretion.
sourcepub fn shape(&self) -> &OperatorShape
pub fn shape(&self) -> &OperatorShape
Return a reference to the operator’s shape
sourcepub fn operator_info(&self) -> OperatorInfo
pub fn operator_info(&self) -> OperatorInfo
Creates operator info for the operator.