rsiot/components/cmp_influxdb3/
error.rs

1use crate::{components::shared_tasks, executor::ComponentError};
2
3/// Ошибки cmp_influxdb
4#[allow(missing_docs)]
5#[derive(Debug, thiserror::Error)]
6pub enum Error {
7    #[error("cmp_influxdb | Reqwest error: {0}")]
8    Reqwest(#[from] reqwest::Error),
9
10    #[error("cmp_influxdb | Status: {status}, message: {message}")]
11    RequestParameters {
12        /// status
13        status: reqwest::StatusCode,
14        /// message
15        message: String,
16    },
17
18    #[error("cmp_influxdb | Cannot represent timetamp as Unix time: {0:?}")]
19    WrongTimestamp(crate::message::Timestamp),
20
21    #[error("cmp_influxdb | {0}")]
22    Config(#[from] crate::components_config::influxdb_v2::Error),
23
24    #[error("cmp_influxdb | {0}")]
25    TaskMsgBusToMpsc(shared_tasks::msgbus_to_mpsc::Error),
26
27    #[error("cmp_influxdb | TaskInputEnd")]
28    TaskInputEnd,
29
30    #[error("cmp_influxdb | TaskPeriodicEnd")]
31    TaskPeriodicEnd,
32
33    #[error("cmp_influxdb | TaskSendToDatabase")]
34    TaskSendToDatabase,
35
36    #[error("cmp_influxdb | TokioMpsc")]
37    TokioMpsc,
38
39    #[error("cmp_influxdb | TokioJoin")]
40    TokioJoin(#[from] tokio::task::JoinError),
41}
42
43impl From<Error> for ComponentError {
44    fn from(value: Error) -> Self {
45        ComponentError::Execution(value.to_string())
46    }
47}