Detect broken connections / make timeout configurable#42
Merged
Conversation
When the connection to the deluge server was lost (the server was restarted or shut down), `_receive_response` was stuck in a infinite loop before. Since `recv` never returns any data the function never broke out of the while loop. Raising a `ConnectionLostException` ensures the retry logic can work as expected.
|
looks great. |
tobbez
added a commit
to tobbez/deluge-client
that referenced
this pull request
Oct 20, 2023
dsander
added a commit
to dsander/core
that referenced
this pull request
Feb 18, 2024
This mainly addresses the client hanging and not reconnecting whenever the deluge server is restarted. See JohnDoee/deluge-client#42 JohnDoee/deluge-client@1.10.0...1.10.2
20 tasks
MartinHjelmare
pushed a commit
to home-assistant/core
that referenced
this pull request
Feb 19, 2024
This mainly addresses the client hanging and not reconnecting whenever the deluge server is restarted. See JohnDoee/deluge-client#42 JohnDoee/deluge-client@1.10.0...1.10.2
frenck
pushed a commit
to home-assistant/core
that referenced
this pull request
Feb 22, 2024
This mainly addresses the client hanging and not reconnecting whenever the deluge server is restarted. See JohnDoee/deluge-client#42 JohnDoee/deluge-client@1.10.0...1.10.2
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.
Hi! 👋
I was trying to use the
delugeintegration of Home Assistant which uses this egg. I noticed that the deluge device in Home Assistant stayed unreachable after the deluge server was restarted. This happened because a broken connection was not detected and thus never reset.Detect closed connections in
_receive_responseWhen the connection to the deluge server was lost (the server was
restarted or shut down),
_receive_responsewas stuck in a infiniteloop before. Since
recvnever returns any data the function never brokeout of the while loop. Raising a
ConnectionLostExceptionensures theretry logic can work as expected.
Make the socket timeout configurable