1use crate::broker::MqttConfig;
4use rumqttd::Broker;
5
6pub async fn start_mqtt_server(
8 config: MqttConfig,
9) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
10 println!(
11 "📡 Starting MQTT broker on {}:{} (MQTT {:?})",
12 config.host, config.port, config.version
13 );
14
15 let broker_config = rumqttd::Config::default();
19
20 let mut broker = Broker::new(broker_config);
22
23 println!(
24 "✅ MQTT broker started successfully on {}:{} (MQTT {:?})",
25 config.host, config.port, config.version
26 );
27
28 broker.start()?;
30
31 Ok(())
32}