25 lines
692 B
Rust
25 lines
692 B
Rust
use config::SharedAppConfig;
|
|
use rumqttc::{Event, Incoming};
|
|
|
|
use crate::Database;
|
|
|
|
pub async fn start(config: SharedAppConfig, _db: Database) -> channels::AsyncClient {
|
|
let (client, mut event_loop) = channels::carts::mqtt::create_client(config.clone());
|
|
|
|
let spawn_client = client.clone();
|
|
tokio::spawn(async move {
|
|
let _client = spawn_client.clone();
|
|
loop {
|
|
let notification = event_loop.poll().await;
|
|
|
|
match notification {
|
|
Ok(Event::Incoming(Incoming::Publish(publish))) => match publish.topic.as_str() {
|
|
_ => {}
|
|
},
|
|
_ => {}
|
|
}
|
|
}
|
|
});
|
|
client
|
|
}
|