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 ..")).task());
let id_exit = submitter.submit(
(|msg:&str|
println!("exit-task: received ({msg:?}) and EXIT")
).exit_task()
);
submitter.submit(
(||{
const MSG: &'static str = "exit";
println!("task 'AA': I pass [\"{MSG}\"] to exit-task to exit");
MSG
}).task().to(id_exit, 0)
);
pool.spawn_thread_for(qid);
pool.join();
}