use daemon_base::core::{Daemon};
use daemon_base::config::DaemonConfig;
use daemon_base::concurrency::{ConcurrencyModel, execute_task};
use log::info;
fn main() {
daemon_base::logging::init_logging().unwrap();
let mut daemon = Daemon::new();
let config = DaemonConfig::from_file("config.json").unwrap();
daemon.load_config(&config).unwrap();
daemon.start(|| {
info!("Custom start logic executed.");
execute_task(ConcurrencyModel::MultiThreaded, || {
info!("Task executed in multi-threaded mode.");
Ok(())
})
}).unwrap();
println!("Daemon state: {:?}", daemon.get_state());
daemon.stop(|| {
info!("Custom stop logic executed.");
Ok(())
}).unwrap();
println!("Daemon state: {:?}", daemon.get_state());
}