pub struct MqttOptions { /* private fields */ }
Expand description
Options to configure the behaviour of MQTT connection
Implementations§
Source§impl MqttOptions
impl MqttOptions
Sourcepub fn new<S: Into<String>, T: Into<String>>(
id: S,
host: T,
port: u16,
) -> MqttOptions
pub fn new<S: Into<String>, T: Into<String>>( id: S, host: T, port: u16, ) -> MqttOptions
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);
Sourcepub fn parse_url<S: Into<String>>(url: S) -> Result<MqttOptions, OptionError>
pub fn parse_url<S: Into<String>>(url: S) -> Result<MqttOptions, OptionError>
Creates an MqttOptions
object by parsing provided string with the url crate’s
Url::parse(url)
method and is only enabled when run using the “url” feature.
let options = MqttOptions::parse_url("mqtt://example.com:1883?client_id=123").unwrap();
NOTE: A url must be prefixed with one of either tcp://
, mqtt://
, ssl://
,mqtts://
,
ws://
or wss://
to denote the protocol for establishing a connection with the broker.
NOTE: Encrypted connections(i.e. mqtts://
, ssl://
, wss://
) by default use the
system’s root certificates. To configure with custom certificates, one may use the
set_transport
method.
let mut options = MqttOptions::parse_url("mqtts://example.com?client_id=123").unwrap();
options.set_transport(Transport::tls_with_config(client_config.into()));
Sourcepub fn broker_address(&self) -> (String, u16)
pub fn broker_address(&self) -> (String, u16)
Broker address
pub fn set_last_will(&mut self, will: LastWill) -> &mut Self
pub fn last_will(&self) -> Option<LastWill>
pub fn set_transport(&mut self, transport: Transport) -> &mut Self
pub fn transport(&self) -> Transport
Sourcepub fn set_keep_alive(&mut self, duration: Duration) -> &mut Self
pub fn set_keep_alive(&mut self, duration: Duration) -> &mut Self
Set number of seconds after which client should ping the broker if there is no other data exchange
Sourcepub fn keep_alive(&self) -> Duration
pub fn keep_alive(&self) -> Duration
Keep alive time
Sourcepub fn set_max_packet_size(
&mut self,
incoming: usize,
outgoing: usize,
) -> &mut Self
pub fn set_max_packet_size( &mut self, incoming: usize, outgoing: usize, ) -> &mut Self
Set packet size limit for outgoing an incoming packets
Sourcepub fn max_packet_size(&self) -> usize
pub fn max_packet_size(&self) -> usize
Maximum packet size
Sourcepub fn set_clean_session(&mut self, clean_session: bool) -> &mut Self
pub fn set_clean_session(&mut self, clean_session: bool) -> &mut Self
clean_session = 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.
§Panic
Panics if clean_session
is false when client_id
is empty.
let mut options = MqttOptions::new("", "localhost", 1883);
options.set_clean_session(false);
Sourcepub fn clean_session(&self) -> bool
pub fn clean_session(&self) -> bool
Clean session
Sourcepub fn set_credentials<U: Into<String>, P: Into<String>>(
&mut self,
username: U,
password: P,
) -> &mut Self
pub fn set_credentials<U: Into<String>, P: Into<String>>( &mut self, username: U, password: P, ) -> &mut Self
Username and password
Sourcepub fn credentials(&self) -> Option<Login>
pub fn credentials(&self) -> Option<Login>
Security options
Sourcepub fn set_request_channel_capacity(&mut self, capacity: usize) -> &mut Self
pub fn set_request_channel_capacity(&mut self, capacity: usize) -> &mut Self
Set request channel capacity
Sourcepub fn request_channel_capacity(&self) -> usize
pub fn request_channel_capacity(&self) -> usize
Request channel capacity
Sourcepub fn set_pending_throttle(&mut self, duration: Duration) -> &mut Self
pub fn set_pending_throttle(&mut self, duration: Duration) -> &mut Self
Enables throttling and sets outoing message rate to the specified ‘rate’
Sourcepub fn pending_throttle(&self) -> Duration
pub fn pending_throttle(&self) -> Duration
Outgoing message rate
Sourcepub fn set_inflight(&mut self, inflight: u16) -> &mut Self
pub fn set_inflight(&mut self, inflight: u16) -> &mut Self
Set number of concurrent in flight messages
Sourcepub fn set_manual_acks(&mut self, manual_acks: bool) -> &mut Self
pub fn set_manual_acks(&mut self, manual_acks: bool) -> &mut Self
set manual acknowledgements
Sourcepub fn manual_acks(&self) -> bool
pub fn manual_acks(&self) -> bool
get manual acknowledgements
pub fn set_proxy(&mut self, proxy: Proxy) -> &mut Self
pub fn proxy(&self) -> Option<Proxy>
pub fn set_request_modifier<F, O>(&mut self, request_modifier: F) -> &mut Selfwhere
F: Fn(Request<()>) -> O + Send + Sync + 'static,
O: IntoFuture<Output = Request<()>> + 'static,
O::IntoFuture: Send,
pub fn request_modifier( &self, ) -> Option<Arc<dyn Fn(Request<()>) -> Pin<Box<dyn Future<Output = Request<()>> + Send>> + Send + Sync>>
Trait Implementations§
Source§impl Clone for MqttOptions
impl Clone for MqttOptions
Source§fn clone(&self) -> MqttOptions
fn clone(&self) -> MqttOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more