/// Kicks off the collector which is a background thread. The collector will
/// capture all data sent to the sender and then will return on the handle the
/// entire dataset.
///
/// The plan is essential to pre-allocating the array.
Kicks off the collector which is a background thread. The collector will
capture all data sent to the sender and then will return on the handle the
entire dataset.

The plan is essential to pre-allocating the array.
Kicks off the collector which is a background thread . The collector will capture all data sent to the sender and then will return on the handle the entire dataset . The plan is essential to pre - allocating the array .
pub fn start<T>(
    plan: Plan,
    periodic_output: bool,
) -> (Sender<Message<T>>, thread::JoinHandle<Vec<T>>)
where
    T: 'static + Send + RequestInfo,
{
    let (sender, receiver) = channel::<Message<T>>();
    (
        sender,
        thread::spawn(move || collect(&receiver, plan, periodic_output)),
    )
}
pub fn start < T > ( plan : Plan , periodic_output : bool , ) -> ( Sender < Message < T > > , thread :: JoinHandle < Vec < T > > ) where T : ' static + Send + RequestInfo , { let ( sender , receiver ) = channel :: < Message < T > > ( ) ; ( sender , thread :: spawn ( move | | collect ( & receiver , plan , periodic_output ) ) , ) }
Kicks off the collector which is a background thread.
Kicks off the collector which is a background thread .
plan
Plan
periodic_output
bool