#[non_exhaustive]pub enum SessionPolicy {
CleanPerConnection,
Resume,
ResumeFor(Duration),
}Expand description
What happens to the MQTT session across connections.
Modeled on MQTT 5 semantics (clean_start + session expiry) with a
documented MQTT 3.1.1 mapping, per the dual-protocol API design.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CleanPerConnection
Start fresh on every connect; the broker discards state on disconnect.
v4: clean_session = true. v5: clean_start = true, session expiry 0.
Resume
Resume the previous session; the broker keeps state indefinitely.
v4: clean_session = false. v5: clean_start = false, session never
expires. Requires a non-empty client_id.
ResumeFor(Duration)
Resume the previous session; the broker keeps state for the given time after disconnect.
MQTT 5 only (session expiry interval, rounded up to whole seconds).
On MQTT 3.1.1 this is not representable and connect returns a
configuration error rather than silently degrading.
Trait Implementations§
Source§impl Clone for SessionPolicy
impl Clone for SessionPolicy
Source§fn clone(&self) -> SessionPolicy
fn clone(&self) -> SessionPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SessionPolicy
Source§impl Debug for SessionPolicy
impl Debug for SessionPolicy
Source§impl Default for SessionPolicy
impl Default for SessionPolicy
Source§fn default() -> SessionPolicy
fn default() -> SessionPolicy
impl Eq for SessionPolicy
Source§impl PartialEq for SessionPolicy
impl PartialEq for SessionPolicy
impl StructuralPartialEq for SessionPolicy
Auto Trait Implementations§
impl Freeze for SessionPolicy
impl RefUnwindSafe for SessionPolicy
impl Send for SessionPolicy
impl Sync for SessionPolicy
impl Unpin for SessionPolicy
impl UnsafeUnpin for SessionPolicy
impl UnwindSafe for SessionPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.