diff --git a/client/bin/Cargo.toml b/client/bin/Cargo.toml index 749b1ec..50b5c3e 100644 --- a/client/bin/Cargo.toml +++ b/client/bin/Cargo.toml @@ -27,3 +27,4 @@ async-trait = "0.1" # Ini File parser rust-ini = "0.21" lazy_static = "1.4" +futures = "0.3" diff --git a/client/bin/src/main.rs b/client/bin/src/main.rs index 321fb59..294d3ee 100644 --- a/client/bin/src/main.rs +++ b/client/bin/src/main.rs @@ -33,6 +33,7 @@ mod straba; use std::sync::Mutex; use lazy_static::lazy_static; +use futures::executor::block_on; // Load INI-File handling module mod config; use config::Config; @@ -659,8 +660,8 @@ fn main_function(parameter1: String, parameter2: Option) -> ExitCode { fn fun_publishinfoviamqtt(straba_res: &NextDeparture) { let topic_in_station: String = format!("{}{}", GlobalConfiguration.lock().unwrap().mqttPrefix, "/inbound/station"); let station_name: String = format!("{}", straba_res.inbound_station); - //FIXME if mqtt_client.is_connected() { - publish_message(topic_in_station.as_str(), station_name.as_str()); + // Execute async publish synchronously + let _ = block_on(publish_message(topic_in_station.as_str(), station_name.as_str())); println!("MQTT published {:?} = {:?}s", topic_in_station, straba_res.outbound_station); }