MqttOptions

Struct MqttOptions 

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

Options to configure the behaviour of MQTT connection

Implementations§

Source§

impl MqttOptions

Source

pub fn new<S, T>(id: S, host: T, port: u16) -> MqttOptions
where S: Into<String>, T: Into<String>,

Create an MqttOptions object that contains default values for all settings other than

  • id: A string to identify the device connecting to a broker
  • host: The broker’s domain name or IP address
  • port: The port number on which broker must be listening for incoming connections
let options = MqttOptions::new("123", "localhost", 1883);
Source

pub fn broker_address(&self) -> (String, u16)

Broker address

Source

pub fn set_last_will(&mut self, will: LastWill) -> &mut MqttOptions

Source

pub fn last_will(&self) -> Option<LastWill>

Source

pub fn set_transport(&mut self, transport: Transport) -> &mut MqttOptions

Source

pub fn transport(&self) -> Transport

Source

pub fn set_keep_alive(&mut self, duration: Duration) -> &mut MqttOptions

Set number of seconds after which client should ping the broker if there is no other data exchange

Source

pub fn keep_alive(&self) -> Duration

Keep alive time

Source

pub fn client_id(&self) -> String

Client identifier

Source

pub fn set_clean_start(&mut self, clean_start: bool) -> &mut MqttOptions

clean_start = true removes all the state from queues & instructs the broker to clean all the client state when client disconnects.

When set false, broker will hold the client state and performs pending operations on the client when reconnection with same client_id happens. Local queue state is also held to retransmit packets after reconnection.

Source

pub fn clean_start(&self) -> bool

Clean session

Source

pub fn set_credentials<U, P>( &mut self, username: U, password: P, ) -> &mut MqttOptions
where U: Into<String>, P: Into<String>,

Username and password

Source

pub fn credentials(&self) -> Option<(String, String)>

Security options

Source

pub fn set_request_channel_capacity( &mut self, capacity: usize, ) -> &mut MqttOptions

Set request channel capacity

Source

pub fn request_channel_capacity(&self) -> usize

Request channel capacity

Source

pub fn set_pending_throttle(&mut self, duration: Duration) -> &mut MqttOptions

Enables throttling and sets outoing message rate to the specified ‘rate’

Source

pub fn pending_throttle(&self) -> Duration

Outgoing message rate

Source

pub fn set_connection_timeout(&mut self, timeout: u64) -> &mut MqttOptions

set connection timeout in secs

Source

pub fn connection_timeout(&self) -> u64

get timeout in secs

Source

pub fn set_connect_properties( &mut self, properties: ConnectProperties, ) -> &mut MqttOptions

set connection properties

Source

pub fn connect_properties(&self) -> Option<ConnectProperties>

get connection properties

Source

pub fn set_receive_maximum(&mut self, recv_max: Option<u16>) -> &mut MqttOptions

set receive maximum on connection properties

Source

pub fn receive_maximum(&self) -> Option<u16>

get receive maximum from connection properties

Source

pub fn set_max_packet_size(&mut self, max_size: Option<u32>) -> &mut MqttOptions

set max packet size on connection properties

Source

pub fn max_packet_size(&self) -> Option<u32>

get max packet size from connection properties

Source

pub fn set_topic_alias_max( &mut self, topic_alias_max: Option<u16>, ) -> &mut MqttOptions

set max topic alias on connection properties

Source

pub fn topic_alias_max(&self) -> Option<u16>

get max topic alias from connection properties

Source

pub fn set_request_response_info( &mut self, request_response_info: Option<u8>, ) -> &mut MqttOptions

set request response info on connection properties

Source

pub fn request_response_info(&self) -> Option<u8>

get request response info from connection properties

Source

pub fn set_request_problem_info( &mut self, request_problem_info: Option<u8>, ) -> &mut MqttOptions

set request problem info on connection properties

Source

pub fn request_problem_info(&self) -> Option<u8>

get request problem info from connection properties

Source

pub fn set_user_properties( &mut self, user_properties: Vec<(String, String)>, ) -> &mut MqttOptions

set user properties on connection properties

Source

pub fn user_properties(&self) -> Vec<(String, String)>

get user properties from connection properties

Source

pub fn set_authentication_method( &mut self, authentication_method: Option<String>, ) -> &mut MqttOptions

set authentication method on connection properties

Source

pub fn authentication_method(&self) -> Option<String>

get authentication method from connection properties

Source

pub fn set_authentication_data( &mut self, authentication_data: Option<Bytes>, ) -> &mut MqttOptions

set authentication data on connection properties

Source

pub fn authentication_data(&self) -> Option<Bytes>

get authentication data from connection properties

Source

pub fn set_manual_acks(&mut self, manual_acks: bool) -> &mut MqttOptions

set manual acknowledgements

Source

pub fn manual_acks(&self) -> bool

get manual acknowledgements

Source

pub fn network_options(&self) -> NetworkOptions

Source

pub fn set_network_options( &mut self, network_options: NetworkOptions, ) -> &mut MqttOptions

Source

pub fn set_outgoing_inflight_upper_limit( &mut self, limit: u16, ) -> &mut MqttOptions

Get the upper limit on maximum number of inflight outgoing publishes. The server may set its own maximum inflight limit, the smaller of the two will be used.

Source

pub fn get_outgoing_inflight_upper_limit(&self) -> Option<u16>

Set the upper limit on maximum number of inflight outgoing publishes. The server may set its own maximum inflight limit, the smaller of the two will be used.

Trait Implementations§

Source§

impl Clone for MqttOptions

Source§

fn clone(&self) -> MqttOptions

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 Debug for MqttOptions

Source§

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

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.