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.
This is a follow-on PR to issue #23 (non_blocking support) resolving issue #24 (:close not being triggered) in that scenario. Basically while running non_blocking logic, we've encountered an issue where the server closes the connection resulting in the socket.read_nonblock call failing indefinetly (the error being EOFError with the logic handling it by emitting ':error' but doing nothing beyond this.
This patch resolves this by handling this specific error to close the websocket. Also it slightly reworks the 'close' logic to simplify the event emitter logic as that callback was never being invoked in this scenario. Now the __close event was removed and instead all the corresponding invokers simply call "close" which emits the :close event (with error).
To use simply apply abrandoned/non_block then the patch contained here