Skip to main content

rsiot/components/cmp_mqtt_client/
error.rs

1use crate::executor::ComponentError;
2
3use super::COMPONENT_NAME;
4
5#[allow(missing_docs)]
6#[derive(Debug, thiserror::Error)]
7pub enum Error {
8    #[error("{COMPONENT_NAME} | FnPublish: {0}")]
9    FnPublish(anyhow::Error),
10
11    #[error("{COMPONENT_NAME} | FnSubscribe: {0}")]
12    FnSubscribe(anyhow::Error),
13
14    #[error("RumqttcClient: {0}")]
15    RumqttcClient(#[from] rumqttc::ClientError),
16
17    #[error("{COMPONENT_NAME} | TaskEndInput")]
18    TaskEndInput,
19
20    #[error("{COMPONENT_NAME} | TaskEndMain")]
21    TaskEndMain,
22
23    #[error("{COMPONENT_NAME} | TaskEndPublish")]
24    TaskEndMqttSend,
25
26    #[error("{COMPONENT_NAME} | TaskEndMqttRecv")]
27    TaskEndMqttRecv,
28
29    #[error("{COMPONENT_NAME} | TaskEndOutput")]
30    TaskEndOutput,
31
32    #[error("{COMPONENT_NAME} | TokioSyncMpscSend")]
33    TokioSyncMpscSend,
34
35    #[error("TokioTaskJoin: {0}")]
36    TokioTaskJoin(#[from] tokio::task::JoinError),
37}
38
39impl From<Error> for ComponentError {
40    fn from(value: Error) -> Self {
41        ComponentError::Execution(value.to_string())
42    }
43}