Fix client timeout caused by AsyncNetworkSocket write() #684
Open
jhihn wants to merge 1 commit intokoush:masterfrom
Open
Fix client timeout caused by AsyncNetworkSocket write() #684jhihn wants to merge 1 commit intokoush:masterfrom
jhihn wants to merge 1 commit intokoush:masterfrom
Conversation
There i a problem when a large (>345 kB) message is being written to a websocket. The connection will actually time out, unless this while is in place. Unfortunately, this pretty much busy-waits. But whatever the queueing mechanism is is broken at least for websockets and large messages. My messages are ~2MB.
.154 AndroidAsync: before:1926139
.154 AndroidAsync: remaining:1577171
.156 AndroidAsync: before:1926139
.156 AndroidAsync: remaining:1577171
AndroidAsync: before:1926139
...
.240 AndroidAsync: remaining:0
|
I have the same problem, when the PR can be approved ? :) |
Author
|
I don't think the PR is proper, it just "fixes" the problem in a nuclear way. The |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There is a problem when a large (>345 kB) message is being written to a websocket. The connection will actually time out, unless this
whileis in place. Unfortunately, this pretty much busy-waits. But whatever the queueing mechanism is, is broken at least for websockets and large messages. My messages are ~2MB.Without this, your connection will be dropped by the remote side. Tested with C++
qtwebsocketsand Pythonwebsocketsclients.The two part write()/handleRemaining() does not seem to handlw when handleRemaining() still has remaining properly.