Retry of requests
Pre-release
Pre-release
Rework the retry behavior for requests:
- Not retry publish with QoS 0
- Not queuing publish QoS 0 and PINGREQ when offline
- Whether the pakcet is sent or not, the retriable packet will be queued when connection lost, and the sent packets will be resent in the same order when they are sent before. Following requirement from Spec
- Will NOT resent the packets on a health connection, even if the response is not received for a long time.
- Spec only REQUIRED to retry publish with QoS > 0, we will retry subscribe/unsubscribe as well to keep the consistent of our behavior.
- Clean up the session correctly when clean_session is true.