rumqtt icon indicating copy to clipboard operation
rumqtt copied to clipboard

Manual ACK packet support

Open xiaocq2001 opened this issue 9 months ago • 5 comments

A solution for issue https://github.com/bytebeamio/rumqtt/issues/841 and issue https://github.com/bytebeamio/rumqtt/issues/609.

Note the example of async_manual_acks_v5 needs PR https://github.com/bytebeamio/rumqtt/pull/854 to make broker re-send publishes.

Type of change

New feature (non-breaking change which adds functionality)

  • get_manual_ack to return manual ack packet where
    • set_reason/set_code to update reason code
    • set_reason_string to set reason string
    • set_user_properties to set user properties
  • manual_ack/try_manual_ack to send the modified packet (PUBACK/PUBREC) returned by get_manual_ack

Checklist:

  • [ ] Formatted with cargo fmt
  • [ ] Make an entry to CHANGELOG.md if it's relevant to the users of the library. If it's not relevant mention why.

xiaocq2001 avatar Apr 30 '24 04:04 xiaocq2001

Are there any additional comments or feedback? If this solution is acceptable, could you please advise on the steps I can take to expedite the merging process?

xiaocq2001 avatar May 09 '24 09:05 xiaocq2001

Added some docs about the API usage. Added two different ack way in example code and detailed comments on them.

Please check.

xiaocq2001 avatar May 16 '24 07:05 xiaocq2001

Any comments?

xiaocq2001 avatar Jun 21 '24 08:06 xiaocq2001

Any comments on manual ACK with reason code support here?

xiaocq2001 avatar Jul 23 '24 01:07 xiaocq2001

Is there any chance to merge this PR? It appears to be relatively independent and should not affect other ongoing discussions.

xiaocq2001 avatar Jul 31 '24 02:07 xiaocq2001