use taskorch::{Pool, Queue, TaskBuildNew, TaskBuildOp};
fn main() {
println!("----- test task orch -----");
let mut pool = Pool::new();
let qid = pool.insert_queue(&Queue::new()).unwrap();
let submitter = pool.task_submitter(qid).unwrap();
submitter.submit((||println!("free-task: Hello, 1 2 3 ..")).into_task());
let id_exit = submitter.submit(
(|msg:&str|
println!("exit-task: received ({msg:?}) and EXIT")
).into_exit_task()
);
submitter.submit(
(||{
const MSG: &'static str = "exit";
println!("task 'AA': I pass ['{MSG}'] to exit-task to exit");
MSG
}).into_task().to(id_exit, 0)
);
pool.spawn_thread_for(qid);
pool.join();
}