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
feat: avoid waking async_request when record updates are not relevant #1153
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #1153 +/- ##
=======================================
Coverage 99.77% 99.77%
=======================================
Files 22 22
Lines 2646 2654 +8
Branches 461 463 +2
=======================================
+ Hits 2640 2648 +8
Misses 4 4
Partials 2 2
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
This should fix all the races with ip address ordering |
I think we are missing coverage for a few of these races. We also didn't handle server name changing before correctly |
Going to need to split this into two PRs One to fix the races with the server name changing
One to avoid the awake on every packet |
There is another bug here self.server needs to start out set to None as well as server_key. Otherwise we could have addresses in the cache for the ptr name but it actually uses a different name in the dev record and a different address so we end up returning the addresses for the ptr name instead of the srv Everything that returns self.server might need to be adjusted as well |
Still need a test for the server changing via a DNSService update Need to start off with the original name and than change it |
Because
zc.async_wait()
was used, every incoming packet would wake upasync_request
even if there were not changes.