Skip to main content

rsiot/components/cmp_influxdb3/
error.rs

1use crate::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::influxdb3::Error),
23
24    #[error("cmp_influxdb | TaskInputEnd")]
25    TaskInputEnd,
26
27    #[error("cmp_influxdb | TaskPeriodicEnd")]
28    TaskPeriodicEnd,
29
30    #[error("cmp_influxdb | TaskSendToDatabase")]
31    TaskSendToDatabase,
32
33    #[error("cmp_influxdb | TokioMpsc")]
34    TokioMpsc,
35
36    #[error("cmp_influxdb | TokioJoin")]
37    TokioJoin(#[from] tokio::task::JoinError),
38}
39
40impl From<Error> for ComponentError {
41    fn from(value: Error) -> Self {
42        ComponentError::Execution(value.to_string())
43    }
44}