[−]Enum svc_agent::mqtt::QoS
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.
Variants
Implementations
impl QoS
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.
pub fn from_u8(byte: u8) -> Result<QoS, Error>
pub fn from_hd(hd: u8) -> Result<QoS, Error>
pub fn to_u8(&self) -> u8
pub fn min(&self, other: QoS) -> QoS
Trait Implementations
impl Clone for QoS
fn clone(&self) -> QoS
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for QoS
impl Debug for QoS
impl Eq for QoS
impl PartialEq<QoS> for QoS
impl StructuralEq for QoS
impl StructuralPartialEq 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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,