Expand description
This module is the place where all the protocol specifics gets abstracted out and creates a structures which are common across protocols. Since, MQTT is the core protocol that this broker supports, a lot of structs closely map to what MQTT specifies in its protocol
Structs§
- Auth
- Used to perform extended authentication exchange
- Codec
- MQTT v4 codec
- ConnAck
- Acknowledgement to connect packet
- Conn
AckProperties - Connect
- Connection packet initiated by the client
- Connect
Properties - Disconnect
- Disconnect
Properties - Filter
- Subscription filter
- Fixed
Header - Packet type from a byte
- Last
Will - LastWill that broker forwards on behalf of the client
- Last
Will Properties - Login
- PingReq
- Ping
Resp - PubAck
- Acknowledgement to QoS1 publish
- PubAck
Properties - PubComp
- QoS2 Assured publish complete, in response to PUBREL packet
- PubComp
Properties - PubRec
- Acknowledgement to QoS1 publish
- PubRec
Properties - PubRel
- QoS2 Publish release, in response to PUBREC packet
- PubRel
Properties - Publish
- Publish packet
- Publish
Properties - SubAck
- Acknowledgement to subscribe
- SubAck
Properties - Subscribe
- Subscription packet
- Subscribe
Properties - Unsub
Ack - Acknowledgement to unsubscribe
- Unsub
AckProperties - Unsubscribe
- Unsubscribe packet
- Unsubscribe
Properties
Enums§
- Connect
Return Code - Return code in connack
- Disconnect
Reason Code - Packet
- Packet
Type - MQTT packet type
- PubAck
Reason - Return code in puback
- PubComp
Reason - Return code in PubComp
- PubRec
Reason - Return code in PubRec
- PubRel
Reason - Return code in PubRel
- Retain
Forward Rule - Subscribe
Reason Code - Unsub
AckReason
Functions§
- check
- Checks if the stream has enough bytes to frame a packet and returns fixed header
only if a packet can be framed with existing bytes in the
stream. The passed stream doesn’t modify parent stream’s cursor. If this function returned an error, nextcheckon the same parent stream is forced start with cursor at 0 again (Iter is owned. Only Iter’s cursor is changed internally)