Struct Connect

Source
pub struct Connect<Bytes> { /* private fields */ }
Expand description

Implementations§

Source§

impl<Bytes> Connect<Bytes>
where Bytes: AnyVec<u8>,

Source

pub const TYPE: u8 = 1u8

The packet type constant

Source

pub fn new<T>( keep_alive_secs: u16, clean_session: bool, client_id: T, ) -> Result<Self, MemoryError>
where T: AsRef<[u8]>,

Creates a new packet

Source

pub fn with_will<T, M>( self, topic: T, message: M, qos: u8, retain: bool, ) -> Result<Self, MemoryError>
where T: AsRef<[u8]>, M: AsRef<[u8]>,

Configures a last-will topic and message

§QoS Levels

Valid QoS levels are:

  • 0: At most one delivery
  • 1: At least one delivery
  • 2: Exactly one delivery
Source

pub fn with_username_password<U, P>( self, username: U, password: P, ) -> Result<Self, MemoryError>
where U: AsRef<[u8]>, P: AsRef<[u8]>,

Configures a username and password

Source

pub const fn keep_alive_secs(&self) -> u16

Gets the seconds to keep the connection alive

Source

pub const fn clean_session(&self) -> bool

Gets the clean session bit which indicate if the client and server do not need to process the deletion of state atomically

Source

pub fn client_id(&self) -> &[u8]

Gets the client identifier

§Important

MQTT allows only the characters 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ, and the identifier should not be longer than 23 bytes.

Source

pub const fn will_retain(&self) -> bool

Gets the will-retain bit to indicate if the will message is to be Retained when it is published

Source

pub const fn will_qos(&self) -> u8

Gets the QoS level to be used when publishing the will message

Source

pub fn will_topic(&self) -> Option<&[u8]>

Gets the will topic

Source

pub fn will_message(&self) -> Option<&[u8]>

Gets the will message

Source

pub fn username(&self) -> Option<&[u8]>

Gets the username

Source

pub fn password(&self) -> Option<&[u8]>

Gets the password

Trait Implementations§

Source§

impl<Bytes: Clone> Clone for Connect<Bytes>

Source§

fn clone(&self) -> Connect<Bytes>

Returns a duplicate 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<Bytes: Debug> Debug for Connect<Bytes>

Source§

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

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

impl<Bytes> IntoIterator for Connect<Bytes>
where Bytes: AnyVec<u8>,

Source§

type Item = u8

The type of the elements being iterated over.
Source§

type IntoIter = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<u8>, Once<u8>>, Take<<[u8; 4] as IntoIterator>::IntoIter>>, <[u8; 6] as IntoIterator>::IntoIter>, Once<u8>>, Once<u8>>, <[u8; 2] as IntoIterator>::IntoIter>, Chain<<[u8; 2] as IntoIterator>::IntoIter, <Bytes as IntoIterator>::IntoIter>>, Chain<Take<<[u8; 2] as IntoIterator>::IntoIter>, <Bytes as IntoIterator>::IntoIter>>, Chain<Take<<[u8; 2] as IntoIterator>::IntoIter>, <Bytes as IntoIterator>::IntoIter>>, Chain<Take<<[u8; 2] as IntoIterator>::IntoIter>, <Bytes as IntoIterator>::IntoIter>>, Chain<Take<<[u8; 2] as IntoIterator>::IntoIter>, <Bytes as IntoIterator>::IntoIter>>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<Bytes: PartialEq> PartialEq for Connect<Bytes>

Source§

fn eq(&self, other: &Connect<Bytes>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Bytes> TryFromIterator for Connect<Bytes>
where Bytes: AnyVec<u8>,

Source§

fn try_from_iter<T>(iter: T) -> Result<Self, DecoderError>
where T: IntoIterator<Item = u8>,

Tries to build Self from the given byte iterator
Source§

impl<Bytes: Eq> Eq for Connect<Bytes>

Source§

impl<Bytes> StructuralPartialEq for Connect<Bytes>

Auto Trait Implementations§

§

impl<Bytes> Freeze for Connect<Bytes>
where Bytes: Freeze,

§

impl<Bytes> RefUnwindSafe for Connect<Bytes>
where Bytes: RefUnwindSafe,

§

impl<Bytes> Send for Connect<Bytes>
where Bytes: Send,

§

impl<Bytes> Sync for Connect<Bytes>
where Bytes: Sync,

§

impl<Bytes> Unpin for Connect<Bytes>
where Bytes: Unpin,

§

impl<Bytes> UnwindSafe for Connect<Bytes>
where Bytes: UnwindSafe,

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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