Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed broker side qos2 exactly once logic. #874

Merged
merged 1 commit into from
Oct 2, 2021
Merged

Commits on Oct 2, 2021

  1. Fixed broker side qos2 exactly once logic.

    endpoint has qos2 duplicated transfer avoiding mechanism.
    It is implemented by `qos2_publish_handled_`.
    
    endpoint works for both client and broker.
    
    However broker (server) is different from the client.
    Client can reconnect usign the same endpoint instance as the previous
    connection. But the broker can't.
    It is because accepting mechanism. On accept, the server needs to create
    the new endpoint.
    
    So the broker had an original qos2 duplicated transfer avoiding
    mechanism.
    It is implemented by `qos2_publish_processed_`.
    
    But the implementation is a little redundant.
    So I introduced get and restore functionality for
    `qos2_publish_handled_`.
    It was #873 but it had bug. `qos2_publish_processed_` was mixed.
    This PR completely removed `qos2_publish_processed_` related code from
    the broker and added correct implementation for `qos2_publish_handled_`.
    redboltz committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    da08be9 View commit details
    Browse the repository at this point in the history