Trait timely::dataflow::operators::core::feedback::Feedback

source ·
pub trait Feedback<G: Scope> {
    // Required method
    fn feedback<C: Container>(
        &mut self,
        summary: <G::Timestamp as Timestamp>::Summary
    ) -> (Handle<G, C>, StreamCore<G, C>);
}
Expand description

Creates a StreamCore and a Handle to later bind the source of that StreamCore.

Required Methods§

source

fn feedback<C: Container>( &mut self, summary: <G::Timestamp as Timestamp>::Summary ) -> (Handle<G, C>, StreamCore<G, C>)

Creates a StreamCore and a Handle to later bind the source of that StreamCore.

The resulting StreamCore will have its data defined by a future call to connect_loop with its Handle passed as an argument. Containers passed through the stream will have their timestamps advanced by summary.

§Examples
use timely::dataflow::Scope;
use timely::dataflow::operators::{Feedback, ConnectLoop, ToStream, Concat, Inspect, BranchWhen};

timely::example(|scope| {
    // circulate 0..10 for 100 iterations.
    let (handle, cycle) = scope.feedback(1);
    (0..10).to_stream(scope)
           .concat(&cycle)
           .inspect(|x| println!("seen: {:?}", x))
           .branch_when(|t| t < &100).1
           .connect_loop(handle);
});

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<G: Scope> Feedback<G> for G