2 #![allow(unused_must_use)]
6 use std::sync::mpsc::Sender;
8 type RingBuffer = Vec<f64> ;
9 type SamplesFn = Box<dyn FnMut(&RingBuffer) + Send>;
13 GetSamples(String, SamplesFn), // sample set name, callback which receives samples
16 fn foo(name: String, samples_chan: Sender<Msg>) {
17 thread::spawn(move|| {
18 let mut samples_chan = samples_chan;
20 let callback: SamplesFn = Box::new(move |buffer| {
21 for i in 0..buffer.len() {
22 println!("{}: {}", i, buffer[i])
26 samples_chan.send(Msg::GetSamples(name.clone(), callback));