Enum Packet
pub enum Packet<'a> {
Show 15 variants
Connect(Connect<'a>),
Connack(Connack<'a>),
Publish(Publish<'a>),
Puback(Ack<'a>),
Pubrec(Ack<'a>),
Pubrel(Ack<'a>),
Pubcomp(Ack<'a>),
Subscribe(Subscribe<'a>),
Suback(Suback<'a>),
Unsubscribe(Unsubscribe<'a>),
Unsuback(Unsuback<'a>),
Pingreq,
Pingresp,
Disconnect(Disconnect<'a>),
Auth(Auth<'a>),
}Expand description
A decoded MQTT v5 packet. All borrowed data refers to the input buffer.
Variants§
Connect(Connect<'a>)
Client request to connect to the server.
Connack(Connack<'a>)
Server acknowledgement of a connection request.
Publish(Publish<'a>)
Publish message.
Puback(Ack<'a>)
Publish acknowledgement (QoS 1).
Pubrec(Ack<'a>)
Publish received (QoS 2, step 1).
Pubrel(Ack<'a>)
Publish release (QoS 2, step 2).
Pubcomp(Ack<'a>)
Publish complete (QoS 2, step 3).
Subscribe(Subscribe<'a>)
Subscribe request.
Suback(Suback<'a>)
Subscribe acknowledgement.
Unsubscribe(Unsubscribe<'a>)
Unsubscribe request.
Unsuback(Unsuback<'a>)
Unsubscribe acknowledgement.
Pingreq
Ping request.
Pingresp
Ping response.
Disconnect(Disconnect<'a>)
Disconnect notification.
Auth(Auth<'a>)
Authentication exchange.
Implementations§
§impl<'a> Packet<'a>
impl<'a> Packet<'a>
pub fn decode(header: FixedHeader, data: &'a [u8]) -> Result<Self, DecodeError>
pub fn decode(header: FixedHeader, data: &'a [u8]) -> Result<Self, DecodeError>
Decode a packet from the variable header + payload bytes.
header is the already-parsed fixed header.
§Errors
Returns DecodeError if the data is malformed, has an invalid
length, or contains invalid field values.
pub fn encoded_len(&self) -> usize
pub fn encoded_len(&self) -> usize
Total encoded size of this packet in bytes (fixed header + body).
pub fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
pub fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Encode the complete packet (fixed header + variable header + payload)
into buf. Returns the number of bytes written.
§Errors
Returns EncodeError::InsufficientSpace if buf is too small.