rumqttc_dev_patched::v5

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: 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);
Source

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()));
Source

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

Broker address

Source

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

Source

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

Source

pub fn set_request_modifier<F, O>(&mut self, request_modifier: F) -> &mut Self
where F: Fn(Request<()>) -> O + Send + Sync + 'static, O: IntoFuture<Output = Request<()>> + 'static, O::IntoFuture: Send,

Source

pub fn request_modifier( &self, ) -> Option<Arc<dyn Fn(Request<()>) -> Pin<Box<dyn Future<Output = Request<()>> + Send>> + Send + Sync>>

Source

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

Source

pub fn transport(&self) -> Transport

Source

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

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

Source

pub fn clean_start(&self) -> bool

Clean session

Source

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

Username and password

Source

pub fn credentials(&self) -> Option<Login>

Security options

Source

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

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

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 Self

Source

pub fn set_proxy(&mut self, proxy: Proxy) -> &mut Self

Source

pub fn proxy(&self) -> Option<Proxy>

Source

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.

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 copy 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

Formats the value using the given formatter. Read more
Source§

impl TryFrom<Url> for MqttOptions

Source§

type Error = OptionError

The type returned in the event of a conversion error.
Source§

fn try_from(url: Url) -> Result<Self, Self::Error>

Performs the conversion.

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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