mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
darkirc: start IRC server task after the DAG has been synced
This commit is contained in:
@@ -341,33 +341,6 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
|
||||
ex.clone(),
|
||||
);
|
||||
|
||||
info!("Starting IRC server");
|
||||
let password = args.password.unwrap_or_default();
|
||||
let config_path = get_config_path(args.config, CONFIG_FILE)?;
|
||||
let irc_server = IrcServer::new(
|
||||
darkirc.clone(),
|
||||
args.irc_listen,
|
||||
args.irc_tls_cert,
|
||||
args.irc_tls_secret,
|
||||
config_path,
|
||||
password,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let irc_task = StoppableTask::new();
|
||||
let ex_ = ex.clone();
|
||||
irc_task.clone().start(
|
||||
irc_server.clone().listen(ex_),
|
||||
|res| async move {
|
||||
match res {
|
||||
Ok(()) | Err(Error::DetachedTaskStopped) => { /* TODO: */ }
|
||||
Err(e) => error!("Failed stopping IRC server: {}", e),
|
||||
}
|
||||
},
|
||||
Error::DetachedTaskStopped,
|
||||
ex.clone(),
|
||||
);
|
||||
|
||||
info!("Starting P2P network");
|
||||
p2p.clone().start().await?;
|
||||
|
||||
@@ -398,6 +371,33 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
|
||||
*event_graph.synced.write().await = true;
|
||||
}
|
||||
|
||||
info!("Starting IRC server");
|
||||
let password = args.password.unwrap_or_default();
|
||||
let config_path = get_config_path(args.config, CONFIG_FILE)?;
|
||||
let irc_server = IrcServer::new(
|
||||
darkirc.clone(),
|
||||
args.irc_listen,
|
||||
args.irc_tls_cert,
|
||||
args.irc_tls_secret,
|
||||
config_path,
|
||||
password,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let irc_task = StoppableTask::new();
|
||||
let ex_ = ex.clone();
|
||||
irc_task.clone().start(
|
||||
irc_server.clone().listen(ex_),
|
||||
|res| async move {
|
||||
match res {
|
||||
Ok(()) | Err(Error::DetachedTaskStopped) => { /* TODO: */ }
|
||||
Err(e) => error!("Failed stopping IRC server: {}", e),
|
||||
}
|
||||
},
|
||||
Error::DetachedTaskStopped,
|
||||
ex.clone(),
|
||||
);
|
||||
|
||||
// Signal handling for graceful termination.
|
||||
let (signals_handler, signals_task) = SignalHandler::new(ex)?;
|
||||
signals_handler.wait_termination(signals_task).await?;
|
||||
|
||||
Reference in New Issue
Block a user