pub enum Packet<'a> {
}
Expand description
Base enum for all MQTT packet types.
This is the main type you’ll be interacting with, as an output of decode_slice()
and an input of
encode()
. Most variants can be constructed directly without using methods.
// Simplest form
let pkt = Packet::Connack(Connack { session_present: false,
code: ConnectReturnCode::Accepted });
// Using `Into` trait
let publish = Publish { dup: false,
qospid: QosPid::AtMostOnce,
retain: false,
topic_name: "to/pic",
payload: b"payload" };
let pkt: Packet = publish.into();
// Identifyer-only packets
let pkt = Packet::Puback(Pid::try_from(42).unwrap());
Variants§
Connect(Connect<'a>)
Connack(Connack)
Publish(Publish<'a>)
Puback(Pid)
Pubrec(Pid)
Pubrel(Pid)
Pubcomp(Pid)
Subscribe(Subscribe)
Suback(Suback)
Unsubscribe(Unsubscribe)
Unsuback(Pid)
Pingreq
Pingresp
Disconnect
Implementations§
Trait Implementations§
Source§impl<'a> From<Unsubscribe> for Packet<'a>
impl<'a> From<Unsubscribe> for Packet<'a>
Source§fn from(p: Unsubscribe) -> Self
fn from(p: Unsubscribe) -> Self
Converts to this type from the input type.
impl<'a> StructuralPartialEq for Packet<'a>
Auto Trait Implementations§
impl<'a> Freeze for Packet<'a>
impl<'a> RefUnwindSafe for Packet<'a>
impl<'a> Send for Packet<'a>
impl<'a> Sync for Packet<'a>
impl<'a> Unpin for Packet<'a>
impl<'a> UnwindSafe for Packet<'a>
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