pub struct Pid(/* private fields */);
Expand description
Packet Identifier.
For packets with QoS::AtLeastOne
or QoS::ExactlyOnce
delivery.
#[derive(Default)]
struct Session {
pid: Pid,
}
impl Session {
pub fn next_pid(&mut self) -> Pid {
self.pid = self.pid + 1;
self.pid
}
}
let mut sess = Session::default();
assert_eq!(2, sess.next_pid().get());
assert_eq!(Pid::try_from(3).unwrap(), sess.next_pid());
The spec (MQTT-2.3.1-1, MQTT-2.2.1-3) disallows a pid of 0.
Implementations§
Trait Implementations§
Source§impl Ord for Pid
impl Ord for Pid
Source§impl PartialOrd for Pid
impl PartialOrd for Pid
impl Copy for Pid
impl Eq for Pid
impl StructuralPartialEq for Pid
Auto Trait Implementations§
impl Freeze for Pid
impl RefUnwindSafe for Pid
impl Send for Pid
impl Sync for Pid
impl Unpin for Pid
impl UnwindSafe for Pid
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
Mutably borrows from an owned value. Read more