fix: scan_count & is_paired handling for faster reconnect #40
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.
If the connection to the Roon core drops and has been re-established, the scan function is not stopped. The reason is that the
is_pairedflag is only set at the very first Roon core connection, reset at disconnection, but then never set again.The
paired_core_idlogic is left as is. My understanding is, that the API always connects to the same Core again, in case multiple Cores are available.If that's not the intention, then the whole logic could be simplified.
Furthermore, the
scan_countcounter is reset after a connection has been established or closed. This allows for faster reconnections, where this API is used on devices not having permanent connections to the Roon Core.Otherwise only the initial 6 scans are performed every 10 seconds, then only every 60 seconds. This can lead to poor user experience for use cases where either the WiFi connection drops, or if the client device is battery powered and goes into standby.