#![allow(dead_code)] #![allow(unused_variables)] use std::thread; pub mod bussy; mod noose; mod relay; mod usernames; pub mod utils; use bussy::PubSub; use flexi_logger::Logger; use crate::utils::structs::Context; #[macro_use] extern crate lazy_static; fn main() { // Logger init let _logger = Logger::try_with_env_or_str("info") .unwrap() .log_to_stdout() .duplicate_to_stderr(flexi_logger::Duplicate::Warn) .write_mode(flexi_logger::WriteMode::Async) .start() .unwrap(); // Services let ctx_db = Context::new(); let ctx_relay = ctx_db.clone(); let ctx_usernames = ctx_relay.clone(); let db_handle = thread::spawn(move || { noose::start(ctx_db); }); let relay_handle = thread::spawn(move || { relay::start(ctx_relay); }); let nip05_handle = thread::spawn(move || { usernames::start(ctx_usernames); }); db_handle.join().unwrap(); relay_handle.join().unwrap(); nip05_handle.join().unwrap(); println!("Done"); }