use crate::{FlowError, JobError, JobId};
pub trait FlowListener {
fn started(&mut self) {}
fn task_started(&mut self, id: JobId, nickname: &str) {
let _id = id;
let _nickname = nickname;
}
fn task_finished(&mut self, id: JobId, nickname: &str, result: Result<(), &JobError>) {
let _id = id;
let _nickname = nickname;
let _result = result;
}
fn finished(&mut self, result: Result<(), &FlowError>) {
let _ = result;
}
}
pub struct PrintTaskListener;
impl FlowListener for PrintTaskListener {
fn task_started(&mut self, _id: JobId, nickname: &str) {
println!("== started: {} ==", nickname);
}
fn task_finished(&mut self, _id: JobId, nickname: &str, result: Result<(), &JobError>) {
println!("== finished: {}. {result:?} ==", nickname);
}
}