[]Enum svc_agent::mqtt::QoS

#[repr(u8)]pub enum QoS {
    AtMostOnce,
    AtLeastOnce,
    ExactlyOnce,
}

Quality of service that defines delivery guarantee level.

MQTT protocol defines three quality of service levels:

  • 0 – at least once; no delivery guarantee.
  • 1 – at most once; guaranteed to deliver but duplicates may arrive.
  • 2 – exactly once; guaranteed to deliver only once.

The more the level – the more the performance overhead.

svc-agent sets QoS = 0 for outgoing events and responses and QoS = 1 for outgoing requests. This means that only requests are guaranteed to be delivered to the broker but duplicates are possible so maintaining request idempotency is up to agents. Quality of service

Variants

AtMostOnce
AtLeastOnce
ExactlyOnce

Trait Implementations

impl Clone for QoS

impl Copy for QoS

impl Debug for QoS

impl Eq for QoS

impl PartialEq<QoS> for QoS

impl PartialOrd<QoS> for QoS

Auto Trait Implementations

impl RefUnwindSafe for QoS

impl Send for QoS

impl Sync for QoS

impl Unpin for QoS

impl UnwindSafe for QoS

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

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