use mqtt_protocol_core::mqtt;
#[derive(Debug, Clone)]
pub struct MqttConfig {
pub url: String,
pub version: mqtt::Version,
pub pingreq_send_interval_ms: Option<u64>,
pub auto_pub_response: bool,
pub auto_ping_response: bool,
pub auto_map_topic_alias_send: bool,
pub auto_replace_topic_alias_send: bool,
pub pingresp_recv_timeout_ms: u64,
pub connection_establish_timeout_ms: u64,
pub shutdown_timeout_ms: u64,
}
impl Default for MqttConfig {
fn default() -> Self {
Self {
url: String::new(),
version: mqtt::Version::V5_0,
pingreq_send_interval_ms: None,
auto_pub_response: true,
auto_ping_response: true,
auto_map_topic_alias_send: false,
auto_replace_topic_alias_send: false,
pingresp_recv_timeout_ms: 0,
connection_establish_timeout_ms: 0,
shutdown_timeout_ms: 5000,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ConnectionState {
Disconnected,
Connecting,
Connected,
Reconnecting,
Closed,
}