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

Eliminate inflight full error #2281

Merged
merged 4 commits into from Mar 9, 2019

Conversation

@spring2maz
Copy link
Contributor

spring2maz commented Mar 5, 2019

No description provided.

spring2maz added 4 commits Mar 5, 2019
Prior to this change, if a emqx_client:publish/? caller sends in
QoS=1/2 messages too fast, emqx_client may return
`{error, inflight_full}` which could put put the caller to an
awkward situation: there seem to be no ohter option except for
putting self to a sleep-n-retry infinite loop.

In this change, a new gen_statm state 'inflight_full' is introduced
as a sub-state of 'connected'. When emqx_client is in 'inflight_full'
state, it postpone all publish calls (for QoS=1/2) until inflight
window size shrinks.
Copy link
Contributor

phanimahesh left a comment

Neatly solved.

@spring2maz spring2maz merged commit ad74772 into develop Mar 9, 2019
3 checks passed
3 checks passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
coverage/coveralls First build on eliminate-inflight-full-error at 70.953%
Details
@spring2maz spring2maz deleted the eliminate-inflight-full-error branch Mar 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.