mqtt/packet/
disconnect.rs1use std::io::Read;
4
5use crate::control::{ControlType, FixedHeader, PacketType};
6use crate::packet::{DecodablePacket, PacketError};
7
8#[derive(Debug, Eq, PartialEq, Clone)]
10pub struct DisconnectPacket {
11 fixed_header: FixedHeader,
12}
13
14encodable_packet!(DisconnectPacket());
15
16impl DisconnectPacket {
17 pub fn new() -> DisconnectPacket {
18 DisconnectPacket {
19 fixed_header: FixedHeader::new(PacketType::with_default(ControlType::Disconnect), 0),
20 }
21 }
22}
23
24impl Default for DisconnectPacket {
25 fn default() -> DisconnectPacket {
26 DisconnectPacket::new()
27 }
28}
29
30impl DecodablePacket for DisconnectPacket {
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(DisconnectPacket { fixed_header })
35 }
36}