2个稳定版本
1.0.1 | 2024年4月23日 |
---|
#7 in #subscribe
10KB
97 代码行
mqtt-manager - 一个用于在Rust中管理MQTT连接的库。基于rumqttc。
变更日志
1.0.0 - 初始版本
lib.rs
:
管理MQTT连接的便利类
示例
use mqtt_manager::*;
use std::time::Duration;
async fn handle_msg_a(pubdata: Publish) {
println!("Received msg A: {:?}", pubdata.payload);
}
async fn handle_msg_b(pubdata: Publish) {
println!("Received msg A: {:?}", pubdata.payload);
}
#[tokio::main]
async fn main() {
let mut mgr = MqttManager::new("mqtt://127.0.0.1:1883/override_client_id");
mgr.subscribe("msg/a", 0, make_callback!(handle_msg_a)).await;
mgr.subscribe("msg/b", 0, make_callback!(handle_msg_b)).await;
mgr.publish("msg/a", "test", 0).await;
loop {
tokio::select! {
_ = mgr.process() => (),
_ = tokio::signal::ctrl_c() => {
mgr.disconnect().await;
break;
}
}
}
}
依赖项
~5–14MB
~187K SLoC