MQTT reference connector¶
The first concrete connector instantiating the framework’s contracts. This
cluster :satisfies: Connector framework (FEAT_0030).
Motivation. The first concrete connector instantiating the
framework’s contracts — a Scope. Bidirectional pub/sub over MQTT 3.1.1; QoS 0+1; retained
publish; wildcard subscriptions with gateway-local fan-out; optional
TLS; username/password auth. Reconnection is delegated to
Non-goals (deferred to follow-on specs). QoS 2; MQTT 5.0 features
(user properties, shared subscriptions, response topic);
Last-Will-and-Testament; persistent ( |
The connector crate shall expose |
The |
The connector shall support MQTT QoS levels |
When |
The connector shall accept inbound subscriptions whose topic includes
the MQTT wildcards |
The connector shall accept username and password credentials in
|
The connector shall provide TLS support via |
The connector shall target MQTT protocol version 3.1.1. MQTT 5.0 features (user properties, shared subscriptions, response topic) are deferred to a follow-on spec. |
The MQTT gateway shall host |
The outbound (taktora-executor → tokio) and inbound (tokio →
taktora-executor) bridges shall be bounded channels with configurable
capacity in |
When the outbound bridge channel is full, |
When the inbound bridge channel is full, the gateway shall
(1) increment the per-channel inbound-drop counter exposed via
|
Reconnection and health¶
The connector delegates reconnection to rumqttc and observes liveness
as health rather than repairing it in the connector (rumqttc EventLoop owns MQTT... (ADR_0128)).
The gateway shall map the MQTT connection state onto
|
The connector shall expose |
When the broker returns a |
The connector shall transition to |
Session model¶
The connector uses a clean session and replays its subscriptions on every reconnect (Clean session with SUBSCRIB... (ADR_0130)).
The connector shall connect with the MQTT clean-session flag set to
true. The flag shall be configurable via |
On each reconnect |
Wildcard demux mechanism¶
These requirements refine Wildcard subscriptions supp... (REQ_0254) with the demultiplexing mechanism (Wildcard inbound demux via ... (ADR_0129)).
The gateway shall register each distinct topic filter with the broker
at most once and reference-count the channels using it. It shall send
|
The gateway shall match each inbound |
Codec default¶
The MQTT connector’s examples and integration tests shall use
|