1use std::io::Read;
4
5use crate::control::{ControlType, FixedHeader, PacketType};
6use crate::packet::{DecodablePacket, PacketError};
7
8#[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}