Trait timely::dataflow::operators::feedback::LoopVariable[][src]

pub trait LoopVariable<'a, G: ScopeParent, T: Timestamp> {
    fn loop_variable<D: Data>(
        &mut self,
        limit: T,
        summary: T::Summary
    ) -> (Handle<G::Timestamp, T, D>, Stream<Child<'a, G, T>, D>); }

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

Required Methods

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

The resulting Stream will have its data defined by a future call to connect_loop with its Handle passed as an argument. Data passed through the stream will have their timestamps advanced by summary, and will be dropped if the result exceeds limit.

#Examples

use timely::dataflow::operators::{LoopVariable, ConnectLoop, ToStream, Concat, Inspect};

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

Implementors