diff --git a/src/mqtt.rs b/src/mqtt.rs index caf5219..23c31e5 100644 --- a/src/mqtt.rs +++ b/src/mqtt.rs @@ -23,7 +23,8 @@ pub enum SendError { NXDomain(&'static str), Tls(TlsError), Connect(ConnectError), - MqttReason(ReasonCode), + MqttConnect(ReasonCode), + MqttPublish(ReasonCode), Timeout(TimeoutError), } @@ -64,7 +65,7 @@ macro_rules! from_impl { from_impl!(DnsError, Dns); from_impl!(TlsError, Tls); from_impl!(ConnectError, Connect); -from_impl!(ReasonCode, MqttReason); +from_impl!(ReasonCode, MqttConnect); from_impl!(TimeoutError, Timeout); const MQTT_SERVER_HOSTNAME: &str = "mqtt.shimun.net"; @@ -182,7 +183,8 @@ pub async fn send_message( rust_mqtt::packet::v5::publish_packet::QualityOfService::QoS1, true, ) - .await?; + .await + .map_err(SendError::MqttPublish)?; } let after_mqtt_pub = Instant::now(); info!(