CommandsClient

Struct CommandsClient 

pub struct CommandsClient {
    prefix: &'static str,
    device_type: DeviceType,
    mqtt: MqttClient,
    payload_format: PayloadFormat,
}
Expand description

IoT Commands client.

Fields§

§prefix: &'static str§device_type: DeviceType§mqtt: MqttClient§payload_format: PayloadFormat

The payload format only affects the format of the response.

Implementations§

§

impl CommandsClient

pub const fn new(mqtt: MqttClient, device_type: DeviceType) -> Self

Creates a new commands client.

pub const fn with_prefix(self, prefix: &'static str) -> Self

Sets the topic prefix to something other than $aws.

pub const fn mqtt_client(&self) -> &MqttClient

Returns a reference to the underlying MQTT client.

pub fn into_mqtt_client(self) -> MqttClient

Consumes the commands client and returns the underlying MQTT client.

pub async fn subscribe_executions(&self) -> Result<CommandExecutionStream>

Subscribes to command execution requests for the given device.

Returns a stream of Result<CommandExecution>. Errors are forwarded as-is, but are not critical. You can safely continue using the stream after receiving an error.

The client does not automatically acknowledge or reject command executions. It is up to the consumer to handle them and call update_execution accordingly.

pub async fn update_execution( &self, execution_id: &str, status: CommandExecutionStatus, status_reason: Option<StatusReason<'_>>, ) -> Result<()>

Updates the status of a command execution.

Depending on the current status of the command execution, not all transitions are valid. See: https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-concepts.html

pub async fn update_execution_no_wait( &self, execution_id: &str, status: CommandExecutionStatus, status_reason: Option<StatusReason<'_>>, ) -> Result<()>

Updates the status of a command execution without waiting for a response.

Compared to update_execution, this method does not wait for an accepted or rejected response. It returns as soon as the update message has been queued for publishing.

Trait Implementations§

§

impl Clone for CommandsClient

§

fn clone(&self) -> CommandsClient

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
§

impl Debug for CommandsClient

§

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

Formats the value using the given formatter. Read more

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more