MqttError

Enum MqttError 

Source
pub enum MqttError<T> {
    Transport(T),
    Protocol(ProtocolError),
    ConnectionRefused(ConnectReasonCode),
    NotConnected,
    BufferTooSmall,
    Timeout,
}
Expand description

The primary error enum for the MQTT client.

It is generic over the transport error type T, allowing it to wrap specific errors from the underlying network transport (e.g., TCP, UART).

Variants§

§

Transport(T)

An error occurred in the underlying transport layer.

§

Protocol(ProtocolError)

A protocol-level error occurred, indicating a violation of the MQTT specification.

§

ConnectionRefused(ConnectReasonCode)

The connection was refused by the broker. The enclosed code provides the reason.

§

NotConnected

The client is not currently connected to the broker.

§

BufferTooSmall

The buffer provided for an operation was too small.

§

Timeout

An operation timed out.

Implementations§

Source§

impl<T: TransportError> MqttError<T>

Source

pub fn cast_transport_error<E: TransportError>( other: MqttError<E>, ) -> MqttError<T>

A helper method to convert an MqttError with a placeholder transport error into an MqttError with a specific transport error type T.

This is used to bridge the gap between generic packet encoding functions and the specific error type required by the client’s Result.

Trait Implementations§

Source§

impl<T: Debug> Debug for MqttError<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: TransportError> From<T> for MqttError<T>

Implements the From trait to allow for automatic conversion of any transport error into an MqttError. This is what allows the ? operator to work seamlessly on Results from the transport layer.

Source§

fn from(err: T) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T> Freeze for MqttError<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for MqttError<T>
where T: RefUnwindSafe,

§

impl<T> Send for MqttError<T>
where T: Send,

§

impl<T> Sync for MqttError<T>
where T: Sync,

§

impl<T> Unpin for MqttError<T>
where T: Unpin,

§

impl<T> UnwindSafe for MqttError<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.