aws_iot_device_sdk_rust/
error.rs

1use rumqttc::ConnectionError;
2use std::fmt;
3use std::fmt::Display;
4
5#[derive(Debug, Clone)]
6pub enum AWSIoTError {
7    AWSConnectionError,
8    IoError,
9}
10
11impl Display for AWSIoTError {
12    fn fmt(&self, f: &mut fmt::Formatter) -> std::fmt::Result {
13        match self {
14            AWSIoTError::AWSConnectionError => write!(f, "Problem connecting to AWS"),
15            AWSIoTError::IoError => write!(f, "Problem reading file"),
16        }
17    }
18}
19
20impl std::error::Error for AWSIoTError {}
21
22impl From<std::io::Error> for AWSIoTError {
23    fn from(_err: std::io::Error) -> AWSIoTError {
24        AWSIoTError::IoError
25    }
26}
27
28impl From<ConnectionError> for AWSIoTError {
29    fn from(_err: ConnectionError) -> AWSIoTError {
30        AWSIoTError::AWSConnectionError
31    }
32}