Skip to main content

MqttConfig

Struct MqttConfig 

Source
pub struct MqttConfig { /* private fields */ }
Expand description

Connection settings for an MqttTransport.

Construct with MqttConfig::new and refine with the chained setters; every field has a sensible default so only the broker address and client id are required.

Implementations§

Source§

impl MqttConfig

Source

pub fn new( client_id: impl Into<String>, host: impl Into<String>, port: u16, ) -> Self

Creates a configuration for the given client id and broker address.

§Arguments
  • client_id - the MQTT client identifier presented to the broker.
  • host - the broker hostname or IP address.
  • port - the broker TCP port, conventionally 1883 for plaintext MQTT.
§Returns

A configuration with a 30-second keep-alive, a request capacity of 64, a default quality of service of QualityOfService::AtLeastOnce, and a packet limit of DEFAULT_MAX_PACKET_SIZE.

Source

pub fn credentials( self, username: impl Into<String>, password: impl Into<String>, ) -> Self

Signs in to the broker with a username and password.

The password travels in the clear unless the connection uses TLS, so a broker reached over a network worth protecting wants both.

§Arguments
  • username - the name the broker knows the client by.
  • password - its password.
§Returns

The updated configuration, for chaining.

Source

pub fn last_will(self, will: Will) -> Self

Leaves a message for the broker to publish if the connection ends without a DISCONNECT.

§Arguments
  • will - the message, its topic, and how it is published.
§Returns

The updated configuration, for chaining.

Source

pub fn tls(self, tls: Tls) -> Self

Secures the connection with TLS.

§Arguments
  • tls - the authorities to trust, and any client certificate to present.
§Returns

The updated configuration, for chaining.

Source

pub fn username(&self) -> Option<&str>

Returns the username the client signs in with.

§Returns

The username, or None for a client that does not sign in.

Source

pub fn will(&self) -> Option<&Will>

Returns the will the broker holds for this client.

§Returns

The will, or None when there is none.

Source

pub fn uses_tls(&self) -> bool

Returns whether the connection uses TLS.

§Returns

true once tls has been set.

Source

pub fn max_packet_size(self, bytes: usize) -> Self

Sets the largest packet the connection sends or accepts, in bytes.

A packet is a message’s topic and payload plus a few bytes of framing. A send whose packet would be larger is refused and the connection stays up, but a larger packet arriving from the broker ends the connection, so every client that shares a topic needs a limit that fits it. MQTT itself allows a packet of up to 268,435,455 bytes after its fixed header.

§Arguments
  • bytes - the limit, which applies to both directions.
§Returns

The updated configuration, for chaining.

Source

pub fn keep_alive(self, interval: Duration) -> Self

Sets the keep-alive interval used to hold the connection open.

§Arguments
  • interval - how often the client pings the broker when otherwise idle.
§Returns

The updated configuration, for chaining.

Source

pub fn capacity(self, capacity: usize) -> Self

Sets the bound on outstanding client requests buffered toward the broker.

§Arguments
  • capacity - the request channel capacity; values below one are clamped to one.
§Returns

The updated configuration, for chaining.

Source

pub fn qos(self, qos: QualityOfService) -> Self

Sets the default quality of service for publishes and subscriptions.

§Arguments
§Returns

The updated configuration, for chaining.

Trait Implementations§

Source§

impl Clone for MqttConfig

Source§

fn clone(&self) -> MqttConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MqttConfig

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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, 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.