rumqttc_dev_patched

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_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_max_packet_size( &mut self, incoming: usize, outgoing: usize, ) -> &mut Self

Set packet size limit for outgoing an incoming packets

Source

pub fn max_packet_size(&self) -> usize

Maximum packet size

Source

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

pub fn clean_session(&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_inflight(&mut self, inflight: u16) -> &mut Self

Set number of concurrent in flight messages

Source

pub fn inflight(&self) -> u16

Number of concurrent in flight messages

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 set_proxy(&mut self, proxy: Proxy) -> &mut Self

Source

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

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

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