Skip to content

Implement MQTT 5 QoS 2 flows - #127

Draft
Carter Tinney (cartertinney) wants to merge 6 commits into
mainfrom
ct-qos2-implementation
Draft

Implement MQTT 5 QoS 2 flows#127
Carter Tinney (cartertinney) wants to merge 6 commits into
mainfrom
ct-qos2-implementation

Conversation

@cartertinney

Copy link
Copy Markdown
Collaborator

Summary

  • Implement outbound and inbound MQTT 5 QoS 2 handshakes with affine PUBREC, PUBREL, and PUBCOMP tokens plus successful default-on-drop progression.
  • Preserve cross-QoS ordering, duplicate handling, packet identifier lifetime, and session-present recovery with session-generation invalidation.
  • Add deterministic protocol coverage, one capability-gated live path, and updated support documentation.

Validation

  • make test
  • make check
  • cargo test --doc
  • make network-test BROKER=mosquitto (201 passed)

Deferred MQTT 5 controls

  • Outbound CONNACK Receive Maximum/send quota.
  • CONNACK Maximum QoS enforcement.
  • Inbound CONNECT Receive Maximum enforcement and DISCONNECT 0x93.

Stack

This PR is stacked on #126 (ct-issue-120-auto-ack-fallback), which supplies the unified unbounded acknowledgement channel used by token drop behavior.

@cartertinney
Carter Tinney (cartertinney) marked this pull request as draft August 15, 2026 01:49
@cartertinney
Carter Tinney (cartertinney) force-pushed the ct-qos2-implementation branch 2 times, most recently from 315039a to 3e4993f Compare August 18, 2026 19:26
Base automatically changed from ct-issue-120-auto-ack-fallback to main August 18, 2026 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant