extern crate timely;
use timely::dataflow::operators::*;
fn main() {
timely::execute_from_args(std::env::args(), |worker| {
let (mut input, probe) = worker.dataflow(move |scope| {
let index = scope.index();
let (input, stream) = scope.new_input();
let probe = stream.exchange(|x| *x)
.inspect(move |x| println!("worker {}:\thello {}", index, x))
.probe();
(input, probe)
});
for round in 0..10 {
input.send(round);
input.advance_to(round + 1);
worker.step_while(|| probe.less_than(input.time()));
}
}).unwrap();
}