Struct MqttClientConfig

Source
pub struct MqttClientConfig<S> {
    pub connection: MqttOptions,
    pub settings: ClientSettings,
    /* private fields */
}
Expand description

Configuration for MQTT client creation

Fields§

§connection: MqttOptions

Underlying MQTT connection options (from rumqttc)

§settings: ClientSettings

Client-level performance and behavior settings

Implementations§

Source§

impl<S> MqttClientConfig<S>

Source

pub fn new(client_id: &str, host: &str, port: u16) -> MqttClientConfig<S>

Create config with default settings

Source

pub fn from_url(url: &str) -> Result<MqttClientConfig<S>, OptionError>

Parse configuration from MQTT URL

Supports: tcp://, mqtt://, ssl://, mqtts://, ws://, wss://

Source

pub fn localhost(client_id: &str) -> MqttClientConfig<S>

Create config for localhost:1883

Source

pub fn with_last_will<T>( &mut self, last_will: TypedLastWill<T>, ) -> Result<&mut MqttClientConfig<S>, MqttClientError>
where S: MessageSerializer<T>,

Configure Last Will and Testament message

The Last Will message will be published by the broker if this client disconnects unexpectedly. Payload is serialized immediately using the configured serializer type.

§Example
let mut config = MqttClientConfig::<BincodeSerializer>::new("client", "broker", 1883);

// Create last will manually (in real code, use generated methods from #[mqtt_topic])
let last_will = TypedLastWill {
    topic: "devices/123/status".to_string(),
    payload: "offline".to_string(),
    qos: QoS::AtLeastOnce,
    retain: true,
};

config.with_last_will(last_will)?;
§Errors

Returns MqttClientError::Serialization if payload serialization fails.

Trait Implementations§

Source§

impl<S> Clone for MqttClientConfig<S>
where S: Clone,

Source§

fn clone(&self) -> MqttClientConfig<S>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<S> Debug for MqttClientConfig<S>
where S: Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> !Freeze for MqttClientConfig<S>

§

impl<S> !RefUnwindSafe for MqttClientConfig<S>

§

impl<S> Send for MqttClientConfig<S>
where S: Send,

§

impl<S> Sync for MqttClientConfig<S>
where S: Sync,

§

impl<S> Unpin for MqttClientConfig<S>
where S: Unpin,

§

impl<S> !UnwindSafe for MqttClientConfig<S>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,