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

pub trait Feedback<G: Scope> {
    fn feedback<D: Data>(
        &mut self,
        summary: <G::Timestamp as Timestamp>::Summary
    ) -> (Handle<G, D>, Stream<G, D>); }

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

Required methods

fn feedback<D: Data>(
    &mut self,
    summary: <G::Timestamp as Timestamp>::Summary
) -> (Handle<G, D>, Stream<G, D>)
[src]

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::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);
});
Loading content...

Implementors

impl<G: Scope> Feedback<G> for G[src]

Loading content...