pub enum Packet<'a> {
Show 14 variants
Connect {
protocol: Protocol,
clean_session: bool,
keep_alive: u16,
last_will: Option<LastWill<'a>>,
client_id: &'a str,
username: Option<&'a str>,
password: Option<&'a [u8]>,
},
ConnectAck {
session_present: bool,
return_code: ConnectReturnCode,
},
Publish {
dup: bool,
retain: bool,
qos: QoS,
topic: &'a str,
packet_id: Option<u16>,
payload: &'a [u8],
},
PublishAck {
packet_id: u16,
},
PublishReceived {
packet_id: u16,
},
PublishRelease {
packet_id: u16,
},
PublishComplete {
packet_id: u16,
},
Subscribe {
packet_id: u16,
topic_filters: Vec<(&'a str, QoS)>,
},
SubscribeAck {
packet_id: u16,
status: Vec<SubscribeReturnCode>,
},
Unsubscribe {
packet_id: u16,
topic_filters: Vec<&'a str>,
},
UnsubscribeAck {
packet_id: u16,
},
PingRequest,
PingResponse,
Disconnect,
}
Expand description
MQTT Control Packets
Variants§
Connect
Client request to connect to Server
Fields
§
protocol: Protocol
ConnectAck
Connect acknowledgment
Fields
§
session_present: bool
enables a Client to establish whether the Client and Server have a consistent view about whether there is already stored Session state.
§
return_code: ConnectReturnCode
Publish
Publish message
Fields
PublishAck
Publish acknowledgment
PublishReceived
Publish received (assured delivery part 1)
PublishRelease
Publish release (assured delivery part 2)
PublishComplete
Publish complete (assured delivery part 3)
Subscribe
Client subscribe request
Fields
SubscribeAck
Subscribe acknowledgment
Fields
§
status: Vec<SubscribeReturnCode>
corresponds to a Topic Filter in the SUBSCRIBE Packet being acknowledged.
Unsubscribe
Unsubscribe request
Fields
UnsubscribeAck
Unsubscribe acknowledgment
PingRequest
PING request
PingResponse
PING response
Disconnect
Client is disconnecting
Implementations§
Source§impl<'a> Packet<'a>
impl<'a> Packet<'a>
Sourcepub fn packet_type(&self) -> u8
pub fn packet_type(&self) -> u8
MQTT Control Packet type
Sourcepub fn packet_flags(&self) -> u8
pub fn packet_flags(&self) -> u8
Flags specific to each MQTT Control Packet type
Trait Implementations§
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