rmqtt_codec/v5/mod.rs
1//! MQTT v5 Protocol codec
2
3use std::num::NonZeroU16;
4
5use bytestring::ByteString;
6use nonzero_ext::nonzero;
7
8mod codec;
9mod decode;
10mod encode;
11mod packet;
12
13pub use self::codec::Codec;
14pub use self::packet::*;
15
16/// A key-value pair representing a single user property
17pub type UserProperty = (ByteString, ByteString);
18/// A list of user properties for MQTT v5 packets
19pub type UserProperties = Vec<UserProperty>;
20
21/// Default maximum receive value (65535)
22pub(crate) const RECEIVE_MAX_DEFAULT: NonZeroU16 = nonzero!(65535u16);