minor resructure
This commit is contained in:
parent
e4500cab78
commit
11d37c5b73
68
src/main.rs
68
src/main.rs
@ -258,49 +258,51 @@ fn main() -> anyhow::Result<()> {
|
|||||||
tokio::runtime::Builder::new_multi_thread()
|
tokio::runtime::Builder::new_multi_thread()
|
||||||
.enable_all()
|
.enable_all()
|
||||||
.build()?
|
.build()?
|
||||||
.block_on(async move {
|
.block_on(tokio_main(config))
|
||||||
setup_tracing(&config);
|
}
|
||||||
|
|
||||||
let cache_path = PathBuf::from("cache.json");
|
async fn tokio_main(config: Arc<Config>) -> anyhow::Result<()> {
|
||||||
|
setup_tracing(&config);
|
||||||
|
|
||||||
let (change_sender, change_receiver) = tokio::sync::watch::channel(Instant::now());
|
let cache_path = PathBuf::from("cache.json");
|
||||||
|
|
||||||
let mut port_handler = PortHandler::load_or_default(&cache_path, change_sender);
|
let (change_sender, change_receiver) = tokio::sync::watch::channel(Instant::now());
|
||||||
port_handler.update_allowed_ports(&config.allowed_ports);
|
|
||||||
|
|
||||||
let port_handler = Arc::new(Mutex::new(port_handler));
|
let mut port_handler = PortHandler::load_or_default(&cache_path, change_sender);
|
||||||
|
port_handler.update_allowed_ports(&config.allowed_ports);
|
||||||
|
|
||||||
spawn(
|
let port_handler = Arc::new(Mutex::new(port_handler));
|
||||||
"cache daemon",
|
|
||||||
cache_daemon(port_handler.clone(), cache_path, change_receiver),
|
|
||||||
);
|
|
||||||
|
|
||||||
#[cfg(feature = "debug_server")]
|
spawn(
|
||||||
if let Some(listen_addr) = config.debug_server_addr {
|
"cache daemon",
|
||||||
warn!(%listen_addr, "debug server listening");
|
cache_daemon(port_handler.clone(), cache_path, change_receiver),
|
||||||
spawn(
|
);
|
||||||
"debug server",
|
|
||||||
debug_server(listen_addr, port_handler.clone()),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
let listener = TcpListener::bind(config.listen_addr).await?;
|
#[cfg(feature = "debug_server")]
|
||||||
warn!(
|
if let Some(listen_addr) = config.debug_server_addr {
|
||||||
listen_addr = %config.listen_addr,
|
warn!(%listen_addr, "debug server listening");
|
||||||
"centralex server listening"
|
spawn(
|
||||||
);
|
"debug server",
|
||||||
|
debug_server(listen_addr, port_handler.clone()),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
while let Ok((stream, addr)) = listener.accept().await {
|
let listener = TcpListener::bind(config.listen_addr).await?;
|
||||||
info!(%addr, "new connection");
|
warn!(
|
||||||
|
listen_addr = %config.listen_addr,
|
||||||
|
"centralex server listening"
|
||||||
|
);
|
||||||
|
|
||||||
spawn(
|
while let Ok((stream, addr)) = listener.accept().await {
|
||||||
&format!("connection to {addr}"),
|
info!(%addr, "new connection");
|
||||||
connection_handler(stream, addr, config.clone(), port_handler.clone()),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
spawn(
|
||||||
})
|
&format!("connection to {addr}"),
|
||||||
|
connection_handler(stream, addr, config.clone(), port_handler.clone()),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
#[derive(Debug, Default)]
|
||||||
|
Loading…
Reference in New Issue
Block a user