Skip to main content

Module mqtt

Module mqtt 

Source
Expand description

MQTT (Message Queuing Telemetry Transport) layer implementation.

Implements MQTT v3.1, v3.1.1, and v5.0 packet parsing as a zero-copy view into a packet buffer.

§Fixed Header Format

Byte 0:  [msg_type(4 bits)] [dup(1)] [qos(2)] [retain(1)]
Byte 1+: Remaining Length (variable-length encoded, 1-4 bytes)

§Message Types

ValueNameDirection
1CONNECTClient -> Server
2CONNACKServer -> Client
3PUBLISHBoth
4PUBACKBoth
5PUBRECBoth
6PUBRELBoth
7PUBCOMPBoth
8SUBSCRIBEClient -> Server
9SUBACKServer -> Client
10UNSUBSCRIBEClient -> Server
11UNSUBACKServer -> Client
12PINGREQClient -> Server
13PINGRESPServer -> Client
14DISCONNECTBoth (v5.0)
15AUTHBoth (v5.0)

Re-exports§

pub use builder::MqttBuilder;

Modules§

builder
MQTT packet builder.

Structs§

MqttLayer
MQTT layer – a zero-copy view into a packet buffer.

Constants§

AUTH
CONNACK
CONNECT
DISCONNECT
MQTT_MIN_HEADER_LEN
Minimum MQTT header: 1 byte fixed header + at least 1 byte remaining length.
MQTT_PORT
Default MQTT TCP port.
PINGREQ
PINGRESP
PUBACK
PUBCOMP
PUBLISH
PUBREC
PUBREL
SUBACK
SUBSCRIBE
UNSUBACK
UNSUBSCRIBE

Statics§

MQTT_FIELD_NAMES
Field names exported for Python/generic access.

Functions§

decode_variable_length
Decode a variable-length integer from buf starting at offset.
encode_variable_length
Encode a value as an MQTT variable-length integer.
is_mqtt_payload
Check whether a TCP payload looks like an MQTT packet.
message_type_name
Return the string name for an MQTT message type value.