implement move images command
- Also implement various importantr bugfixes for shutdown handling
This commit is contained in:
30
src/main.rs
30
src/main.rs
@ -154,14 +154,20 @@ fn main() {
|
||||
);
|
||||
|
||||
let sock_addr = SocketAddr::new(IpAddr::V4(OBSW_SERVER_ADDR), SERVER_PORT);
|
||||
let udp_tc_server = UdpTcServer::new(UDP_SERVER.id(), sock_addr, 2048, tc_source_tx.clone())
|
||||
.expect("creating UDP TMTC server failed");
|
||||
let mut udp_tmtc_server = UdpTmtcServer {
|
||||
udp_tc_server,
|
||||
tm_handler: DynamicUdpTmHandler {
|
||||
tm_rx: tm_tcp_server_rx,
|
||||
},
|
||||
};
|
||||
let udp_tc_server_result =
|
||||
UdpTcServer::new(UDP_SERVER.id(), sock_addr, 2048, tc_source_tx.clone());
|
||||
if udp_tc_server_result.is_err() {
|
||||
log::error!("UDP server creation failed");
|
||||
}
|
||||
let mut opt_udp_tmtc_server = None;
|
||||
if let Ok(udp_tc_server) = udp_tc_server_result {
|
||||
opt_udp_tmtc_server = Some(UdpTmtcServer {
|
||||
udp_tc_server,
|
||||
tm_handler: DynamicUdpTmHandler {
|
||||
tm_rx: tm_tcp_server_rx,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
let tcp_server_cfg = ServerConfig::new(
|
||||
TCP_SERVER.id(),
|
||||
@ -243,7 +249,9 @@ fn main() {
|
||||
.spawn(move || {
|
||||
info!("Running UDP server on port {SERVER_PORT}");
|
||||
loop {
|
||||
udp_tmtc_server.periodic_operation();
|
||||
if let Some(ref mut udp_tmtc_server) = opt_udp_tmtc_server {
|
||||
udp_tmtc_server.periodic_operation();
|
||||
}
|
||||
tmtc_task.periodic_operation();
|
||||
if tmtc_stop_signal.load(std::sync::atomic::Ordering::Relaxed) {
|
||||
break;
|
||||
@ -307,10 +315,14 @@ fn main() {
|
||||
.unwrap();
|
||||
|
||||
info!("Starting event handling task");
|
||||
let event_stop_signal = stop_signal.clone();
|
||||
let jh_event_handling = thread::Builder::new()
|
||||
.name("sat-rs events".to_string())
|
||||
.spawn(move || loop {
|
||||
event_handler.periodic_operation();
|
||||
if event_stop_signal.load(std::sync::atomic::Ordering::Relaxed) {
|
||||
break;
|
||||
}
|
||||
thread::sleep(Duration::from_millis(FREQ_MS_EVENT_HANDLING));
|
||||
})
|
||||
.unwrap();
|
||||
|
Reference in New Issue
Block a user