rumqttc_dev_patched

Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

A synchronous client, communicates with MQTT EventLoop.

This is cloneable and can be used to synchronously publish, subscribe through the EventLoop/Connection, which is to be polled in parallel by iterating over the object returned by Connection.iter() in a separate thread.

NOTE: The EventLoop/Connection must be regularly polled(.next() in case of Connection) in order to send, receive and process packets from the broker, i.e. move ahead.

An asynchronous channel handle can also be extracted if necessary.

Implementations§

Source§

impl Client

Source

pub fn new(options: MqttOptions, cap: usize) -> (Client, Connection)

Create a new Client

cap specifies the capacity of the bounded async channel.

Source

pub fn from_sender(request_tx: Sender<(NoticeTx, Request)>) -> Client

Create a new Client from a channel Sender.

This is mostly useful for creating a test instance where you can listen on the corresponding receiver.

Source

pub fn publish<S, V>( &self, topic: S, qos: QoS, retain: bool, payload: V, ) -> Result<NoticeFuture, ClientError>
where S: Into<String>, V: Into<Vec<u8>>,

Sends a MQTT Publish to the EventLoop

Source

pub fn try_publish<S, V>( &self, topic: S, qos: QoS, retain: bool, payload: V, ) -> Result<NoticeFuture, ClientError>
where S: Into<String>, V: Into<Vec<u8>>,

Source

pub fn ack(&self, publish: &Publish) -> Result<NoticeFuture, ClientError>

Sends a MQTT PubAck to the EventLoop. Only needed in if manual_acks flag is set.

Source

pub fn try_ack(&self, publish: &Publish) -> Result<(), ClientError>

Sends a MQTT PubAck to the EventLoop. Only needed in if manual_acks flag is set.

Source

pub fn subscribe<S: Into<String>>( &self, topic: S, qos: QoS, ) -> Result<NoticeFuture, ClientError>

Sends a MQTT Subscribe to the EventLoop

Source

pub fn try_subscribe<S: Into<String>>( &self, topic: S, qos: QoS, ) -> Result<NoticeFuture, ClientError>

Sends a MQTT Subscribe to the EventLoop

Source

pub fn subscribe_many<T>(&self, topics: T) -> Result<NoticeFuture, ClientError>
where T: IntoIterator<Item = SubscribeFilter>,

Sends a MQTT Subscribe for multiple topics to the EventLoop

Source

pub fn try_subscribe_many<T>( &self, topics: T, ) -> Result<NoticeFuture, ClientError>
where T: IntoIterator<Item = SubscribeFilter>,

Source

pub fn unsubscribe<S: Into<String>>( &self, topic: S, ) -> Result<NoticeFuture, ClientError>

Sends a MQTT Unsubscribe to the EventLoop

Source

pub fn try_unsubscribe<S: Into<String>>( &self, topic: S, ) -> Result<NoticeFuture, ClientError>

Sends a MQTT Unsubscribe to the EventLoop

Source

pub fn disconnect(&self) -> Result<NoticeFuture, ClientError>

Sends a MQTT disconnect to the EventLoop

Source

pub fn try_disconnect(&self) -> Result<(), ClientError>

Sends a MQTT disconnect to the EventLoop

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

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

Auto Trait Implementations§

§

impl Freeze for Client

§

impl RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl UnwindSafe for Client

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