mqtt/packet/
pingreq.rs

1//! PINGREQ
2
3use std::io::Read;
4
5use crate::control::{ControlType, FixedHeader, PacketType};
6use crate::packet::{DecodablePacket, PacketError};
7
8/// `PINGREQ` packet
9#[derive(Debug, Eq, PartialEq, Clone)]
10pub struct PingreqPacket {
11    fixed_header: FixedHeader,
12}
13
14encodable_packet!(PingreqPacket());
15
16impl PingreqPacket {
17    pub fn new() -> PingreqPacket {
18        PingreqPacket {
19            fixed_header: FixedHeader::new(PacketType::with_default(ControlType::PingRequest), 0),
20        }
21    }
22}
23
24impl Default for PingreqPacket {
25    fn default() -> PingreqPacket {
26        PingreqPacket::new()
27    }
28}
29
30impl DecodablePacket for PingreqPacket {
31    type DecodePacketError = std::convert::Infallible;
32
33    fn decode_packet<R: Read>(_reader: &mut R, fixed_header: FixedHeader) -> Result<Self, PacketError<Self>> {
34        Ok(PingreqPacket { fixed_header })
35    }
36}