mqute_codec/protocol/traits.rs
1//! # MQTT Packet Traits
2//!
3//! This module defines auxiliary traits for all MQTT packet types. These traits provide
4//! supplementary interfaces for packet handling across different protocol versions while
5//! allowing version-specific implementations.
6//!
7//! ## Important Note: Auxiliary Nature
8//!
9//! These traits are **auxiliary** - they are not the primary packet encoding/decoding
10//! interface. The main packet functionality is provided through the `Encode` and `Decode`
11//! traits and version-specific struct implementations.
12
13/// Auxiliary trait for MQTT CONNECT packet functionality.
14pub trait Connect {}
15
16/// Auxiliary trait for MQTT CONNACK packet functionality.
17pub trait ConnAck {}
18
19/// Auxiliary trait for MQTT PUBLISH packet functionality.
20pub trait Publish {}
21
22/// Auxiliary trait for MQTT PUBACK packet functionality.
23pub trait PubAck {}
24
25/// Auxiliary trait for MQTT PUBREC packet functionality.
26pub trait PubRec {}
27
28/// Auxiliary trait for MQTT PUBREL packet functionality.
29pub trait PubRel {}
30
31/// Auxiliary trait for MQTT PUBCOMP packet functionality.
32pub trait PubComp {}
33
34/// Auxiliary trait for MQTT SUBSCRIBE packet functionality.
35pub trait Subscribe {}
36
37/// Auxiliary trait for MQTT SUBACK packet functionality.
38pub trait SubAck {}
39
40/// Auxiliary trait for MQTT UNSUBSCRIBE packet functionality.
41pub trait Unsubscribe {}
42
43/// Auxiliary trait for MQTT UNSUBACK packet functionality.
44pub trait UnsubAck {}
45
46/// Auxiliary trait for MQTT PINGREQ packet functionality.
47pub trait PingReq {}
48
49/// Auxiliary trait for MQTT PINGRESP packet functionality.
50pub trait PingResp {}
51
52/// Auxiliary trait for MQTT DISCONNECT packet functionality.
53pub trait Disconnect {}
54
55/// Auxiliary trait for MQTT AUTH packet functionality (v5 only).
56pub trait Auth {}