Skip to main content

ConnectOptions

Struct ConnectOptions 

Source
pub struct ConnectOptions {
Show 18 fields pub host: String, pub port: u16, pub client_id: String, pub version: MqttVersion, pub clean_start: bool, pub keep_alive_secs: u16, pub username: Option<String>, pub password: Option<Vec<u8>>, pub will: Option<WillOptions>, pub connect_timeout_secs: u32, pub operation_timeout_secs: u32, pub auto_reconnect: bool, pub reconnect_backoff_secs: u32, pub reconnect_max_backoff_secs: u32, pub tls: Option<TlsOptions>, pub max_packet_size: u32, pub auth_method: Option<String>, pub auth_data: Option<Vec<u8>>,
}
Expand description

Everything needed to establish an MQTT connection.

Fields§

§host: String§port: u16§client_id: String§version: MqttVersion

Which protocol version to speak. The broker never up/downgrades a connection once CONNECT is sent.

§clean_start: bool

MQTT 3.1.1 “Clean Session” / MQTT 5.0 “Clean Start”.

§keep_alive_secs: u16

Keep-alive interval in seconds. 0 disables keep-alive pings.

§username: Option<String>§password: Option<Vec<u8>>§will: Option<WillOptions>§connect_timeout_secs: u32

Seconds to wait for the TCP connection + CONNACK before failing.

§operation_timeout_secs: u32

Seconds to wait for a QoS 1/2 handshake step per attempt before retrying (with DUP=1) — MqttClient::publish retries an unacked QoS 1/2 PUBLISH (or QoS 2’s PUBREL) up to 3 times before giving up, so the worst-case total wait for a single publish() call is up to 4x this value. 0 selects the built-in default (15s).

§auto_reconnect: bool

If true, crate::client::MqttClient automatically reconnects (with exponential backoff, see Self::reconnect_backoff_secs / Self::reconnect_max_backoff_secs) after a connection loss that wasn’t caused by calling disconnect(), replaying every topic this client is currently subscribed to (per its own bookkeeping) once reconnected. Off by default — the caller must opt in.

§reconnect_backoff_secs: u32

Initial delay before the first reconnect attempt, doubling after each failed attempt up to Self::reconnect_max_backoff_secs. 0 selects the built-in default (1s). Ignored unless Self::auto_reconnect is set.

§reconnect_max_backoff_secs: u32

Cap on the exponential reconnect backoff delay. 0 selects the built-in default (30s). Ignored unless Self::auto_reconnect is set.

§tls: Option<TlsOptions>

If set, connect over TLS (mqtts) instead of plain TCP. None (the default) is plain TCP, unchanged from before TLS support existed.

§max_packet_size: u32

Largest packet (fixed header + body, in bytes) this client will accept from the broker; a larger one is treated as a protocol error and drops the connection instead of being buffered. 0 selects the built-in default (the MQTT protocol maximum, ~256 MiB).

§auth_method: Option<String>

MQTT 5.0 enhanced authentication (SCRAM, Kerberos, OAuth, …): the Authentication Method to announce in CONNECT. The broker may then send challenges, which are answered by the MqttAuthHandler registered with MqttClient::set_auth_handler. Requires MqttVersion::V5.

§auth_data: Option<Vec<u8>>

Initial Authentication Data sent with CONNECT (e.g. a SCRAM client-first message). Requires Self::auth_method.

Implementations§

Source§

impl ConnectOptions

Source

pub fn new( host: impl Into<String>, port: u16, client_id: impl Into<String>, version: MqttVersion, ) -> Self

Trait Implementations§

Source§

impl Clone for ConnectOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<UT> ConvertError<UT> for ConnectOptions

Source§

impl Debug for ConnectOptions

Source§

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

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

impl Eq for ConnectOptions

Source§

impl<UT> FfiConverter<UT> for ConnectOptions

Source§

const TYPE_ID_META: MetadataBuffer

Type ID metadata, serialized into a MetadataBuffer.
Source§

type FfiType = RustBuffer

The low-level type used for passing values of this type over the FFI. Read more
Source§

fn lower(v: Self) -> RustBuffer

Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§

fn try_lift(buf: RustBuffer) -> Result<Self>

Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§

fn write(obj: Self, buf: &mut Vec<u8>)

Write a rust value into a buffer, to send over the FFI in serialized form. Read more
Source§

fn try_read(buf: &mut &[u8]) -> Result<Self>

Read a rust value from a buffer, received over the FFI in serialized form. Read more
Source§

impl<UT> Lift<UT> for ConnectOptions

Source§

type FfiType = <ConnectOptions as FfiConverter<UT>>::FfiType

Source§

fn try_lift(v: Self::FfiType) -> Result<Self>

Source§

fn try_read(buf: &mut &[u8]) -> Result<Self>

Source§

fn try_lift_from_rust_buffer(v: RustBuffer) -> Result<Self, Error>

Convenience method
Source§

impl<UT> LiftRef<UT> for ConnectOptions

Source§

impl<UT> LiftReturn<UT> for ConnectOptions

Source§

type ReturnType = <ConnectOptions as Lift<UT>>::FfiType

FFI return type for trait interfaces
Source§

fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>

Lift a successfully returned value from a trait interface
Source§

fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self

Lift a foreign returned value from a trait interface Read more
Source§

fn lift_error(_buf: RustBuffer) -> Self

Lift a Rust value for a callback interface method error result Read more
Source§

fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self

Lift a Rust value for an unexpected callback interface error Read more
Source§

impl<UT> Lower<UT> for ConnectOptions

Source§

type FfiType = <ConnectOptions as FfiConverter<UT>>::FfiType

Source§

fn lower(obj: Self) -> Self::FfiType

Source§

fn write(obj: Self, buf: &mut Vec<u8>)

Source§

fn lower_into_rust_buffer(obj: Self) -> RustBuffer

Convenience method
Source§

impl<UT> LowerError<UT> for ConnectOptions

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for ConnectOptions

Source§

type ReturnType = <ConnectOptions as Lower<UT>>::FfiType

The type that should be returned by scaffolding functions for this type. Read more
Source§

fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
Source§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
Source§

impl PartialEq for ConnectOptions

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ConnectOptions

Source§

impl<UT> TypeId<UT> for ConnectOptions

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> CompatExt for T

Source§

fn compat(self) -> Compat<T> ⓘ
where T: Sized,

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T> ⓘ

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T> ⓘ

Applies the Compat adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

Source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
Source§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
Source§

unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ

Consume a handle, getting back the initial Arc<> Read more
Source§

unsafe fn get_arc(handle: Handle) -> Arc<Self> ⓘ

Get a clone of the Arc<> using a “borrowed” handle. Read more
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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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