1use std::io;
2
3#[derive(Debug)]
5pub enum MqttError<E> {
6 Service(E),
8 Protocol(mqtt_codec::ParseError),
10 Unexpected(mqtt_codec::Packet, &'static str),
12 PacketIdRequired,
14 KeepAliveTimeout,
16 HandshakeTimeout,
18 Disconnected,
20 Io(io::Error),
22}
23
24impl<E> From<mqtt_codec::ParseError> for MqttError<E> {
25 fn from(err: mqtt_codec::ParseError) -> Self {
26 MqttError::Protocol(err)
27 }
28}
29
30impl<E> From<io::Error> for MqttError<E> {
31 fn from(err: io::Error) -> Self {
32 MqttError::Io(err)
33 }
34}