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_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>>
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_clean_start(&mut self, clean_start: bool) -> &mut Self
pub fn set_clean_start(&mut self, clean_start: bool) -> &mut Self
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.
Sourcepub fn clean_start(&self) -> bool
pub fn clean_start(&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_connection_timeout(&mut self, timeout: u64) -> &mut Self
pub fn set_connection_timeout(&mut self, timeout: u64) -> &mut Self
set connection timeout in secs
Sourcepub fn connection_timeout(&self) -> u64
pub fn connection_timeout(&self) -> u64
get timeout in secs
Sourcepub fn set_connect_properties(
&mut self,
properties: ConnectProperties,
) -> &mut Self
pub fn set_connect_properties( &mut self, properties: ConnectProperties, ) -> &mut Self
set connection properties
Sourcepub fn connect_properties(&self) -> Option<ConnectProperties>
pub fn connect_properties(&self) -> Option<ConnectProperties>
get connection properties
Sourcepub fn set_receive_maximum(&mut self, recv_max: Option<u16>) -> &mut Self
pub fn set_receive_maximum(&mut self, recv_max: Option<u16>) -> &mut Self
set receive maximum on connection properties
Sourcepub fn receive_maximum(&self) -> Option<u16>
pub fn receive_maximum(&self) -> Option<u16>
get receive maximum from connection properties
Sourcepub fn set_max_packet_size(&mut self, max_size: Option<u32>) -> &mut Self
pub fn set_max_packet_size(&mut self, max_size: Option<u32>) -> &mut Self
set max packet size on connection properties
Sourcepub fn max_packet_size(&self) -> Option<u32>
pub fn max_packet_size(&self) -> Option<u32>
get max packet size from connection properties
Sourcepub fn set_topic_alias_max(&mut self, topic_alias_max: Option<u16>) -> &mut Self
pub fn set_topic_alias_max(&mut self, topic_alias_max: Option<u16>) -> &mut Self
set max topic alias on connection properties
Sourcepub fn topic_alias_max(&self) -> Option<u16>
pub fn topic_alias_max(&self) -> Option<u16>
get max topic alias from connection properties
Sourcepub fn set_request_response_info(
&mut self,
request_response_info: Option<u8>,
) -> &mut Self
pub fn set_request_response_info( &mut self, request_response_info: Option<u8>, ) -> &mut Self
set request response info on connection properties
Sourcepub fn request_response_info(&self) -> Option<u8>
pub fn request_response_info(&self) -> Option<u8>
get request response info from connection properties
Sourcepub fn set_request_problem_info(
&mut self,
request_problem_info: Option<u8>,
) -> &mut Self
pub fn set_request_problem_info( &mut self, request_problem_info: Option<u8>, ) -> &mut Self
set request problem info on connection properties
Sourcepub fn request_problem_info(&self) -> Option<u8>
pub fn request_problem_info(&self) -> Option<u8>
get request problem info from connection properties
Sourcepub fn set_user_properties(
&mut self,
user_properties: Vec<(String, String)>,
) -> &mut Self
pub fn set_user_properties( &mut self, user_properties: Vec<(String, String)>, ) -> &mut Self
set user properties on connection properties
Sourcepub fn user_properties(&self) -> Vec<(String, String)>
pub fn user_properties(&self) -> Vec<(String, String)>
get user properties from connection properties
Sourcepub fn set_authentication_method(
&mut self,
authentication_method: Option<String>,
) -> &mut Self
pub fn set_authentication_method( &mut self, authentication_method: Option<String>, ) -> &mut Self
set authentication method on connection properties
Sourcepub fn authentication_method(&self) -> Option<String>
pub fn authentication_method(&self) -> Option<String>
get authentication method from connection properties
Sourcepub fn set_authentication_data(
&mut self,
authentication_data: Option<Bytes>,
) -> &mut Self
pub fn set_authentication_data( &mut self, authentication_data: Option<Bytes>, ) -> &mut Self
set authentication data on connection properties
Sourcepub fn authentication_data(&self) -> Option<Bytes>
pub fn authentication_data(&self) -> Option<Bytes>
get authentication data from connection properties
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 network_options(&self) -> NetworkOptions
pub fn set_network_options( &mut self, network_options: NetworkOptions, ) -> &mut Self
pub fn set_proxy(&mut self, proxy: Proxy) -> &mut Self
pub fn proxy(&self) -> Option<Proxy>
Sourcepub fn set_outgoing_inflight_upper_limit(&mut self, limit: u16) -> &mut Self
pub fn set_outgoing_inflight_upper_limit(&mut self, limit: u16) -> &mut Self
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.
Sourcepub fn get_outgoing_inflight_upper_limit(&self) -> Option<u16>
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
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