1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#![feature(arbitrary_enum_discriminant)]
#[macro_use] extern crate failure;
#[macro_use] extern crate packattack_derive;
mod connect;
mod connack;
mod publish;
mod puback;
mod pubrec;
mod pubrel;
mod pubcomp;
mod subscribe;
mod suback;
mod unsubscribe;
mod unsuback;
mod pingreq;
mod pingresp;
mod disconnect;
mod auth;
pub mod data_representation;
pub mod error;
pub type ERROR = error::MQTTParserError;
use packattack::*;
#[derive(Clone, Debug, PartialEq, FromBitReader)]
#[size_in_bits = 4]
#[repr(u8)]
pub enum Packet
{
CONNECT(connect::Connect) = 1,
CONNACK(connack::Connack) = 2,
PUBLISH(publish::Publish) = 3,
PUBACK(puback::Puback) = 4,
PUBREC(pubrec::Pubrec) = 5,
PUBREL(pubrel::Pubrel) = 6,
PUBCOMP(pubcomp::Pubcomp) = 7,
SUBSCRIBE(()) = 8,
SUBACK(()) = 9,
UNSUBSCRIBE(()) = 10,
UNSUBACK(()) = 11,
PINGREQ(()) = 12,
PINGRESP(()) = 13,
DISCONNECT(()) = 14,
AUTH(()) = 15
}