Skip to content

Commit 2d4a48b

Browse files
committed
error if can't bind ws
1 parent b3d072f commit 2d4a48b

2 files changed

Lines changed: 16 additions & 17 deletions

File tree

src/yourcontrols-net/src/server.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,8 @@ impl TransferStruct {
229229
Payloads::Handshake { session_id, .. } => {
230230
info!(
231231
"[NETWORK] Handshake received from port {} on {}",
232-
addr.port(), session_id
232+
addr.port(),
233+
session_id
233234
);
234235
// Incoming UDP packet from peer
235236
if *session_id == self.session_id {

src/yourcontrols/src/main.rs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -190,27 +190,24 @@ fn main() {
190190
path
191191
};
192192
// Load defintions
193-
let load_definitions = |conn: &SimConnector,
194-
definitions: &mut Definitions,
195-
control: &mut Control,
196-
config_to_load: &mut String|
197-
-> bool {
193+
let load_definitions = |definitions: &mut Definitions, config_to_load: &mut String| -> bool {
198194
// Load aircraft configuration
199195
let path = get_config_path(config_to_load);
200196

201197
match definitions.load_config(path.to_string_lossy().to_string()) {
202198
Ok(_) => {
203199
info!("[DEFINITIONS] Loaded and mapped {} aircraft vars, {} local vars, and {} events", definitions.get_number_avars(), definitions.get_number_lvars(), definitions.get_number_events());
204-
control.on_connected(&conn);
205-
definitions.on_connected(&conn)
206200
}
207201
Err(e) => {
208-
error!("[DEFINITIONS] Could not load configuration file {}: {}", config_to_load,e);
202+
error!(
203+
"[DEFINITIONS] Could not load configuration file {}: {}",
204+
config_to_load, e
205+
);
209206
// Prevent server/client from starting as config could not be laoded.
210207
*config_to_load = String::new();
211208
return false;
212209
}
213-
}.ok();
210+
};
214211

215212
info!("[DEFINITIONS] {} loaded successfully.", config_to_load);
216213

@@ -427,7 +424,11 @@ fn main() {
427424
Ok(_) => {
428425
info!("[DEFINITIONS] Loaded and mapped {} aircraft vars, {} local vars, and {} events from the server", definitions.get_number_avars(), definitions.get_number_lvars(), definitions.get_number_events());
429426
control.on_connected(&conn);
430-
definitions.on_connected(&conn).ok();
427+
428+
let def_connect_result = definitions.on_connected(&conn);
429+
if let Err(()) = def_connect_result {
430+
client.stop("Error starting WS server. Do you have another YourControls open?".to_string())
431+
}
431432
// Freeze aircraft
432433
control.lose_control(&conn);
433434
}
@@ -556,16 +557,13 @@ fn main() {
556557

557558
if config_to_load == "" {
558559
app_interface.server_fail("Select an aircraft config first!");
559-
} else if !load_definitions(
560-
&conn,
561-
&mut definitions,
562-
&mut control,
563-
&mut config_to_load,
564-
) {
560+
} else if !load_definitions(&mut definitions, &mut config_to_load) {
565561
app_interface.error(
566562
"Error loading definition files. Check the log for more information.",
567563
);
568564
} else if connected {
565+
definitions.on_connected(&conn).ok();
566+
control.on_connected(&conn);
569567
// Display attempting to start server
570568
app_interface.attempt();
571569

0 commit comments

Comments
 (0)