feat: improve AsyncServiceBrowser performance#1273
Merged
Conversation
…erviceBrowserBase async_update_records_complete is no longer an abstract method and a default handler is now provided which was originally in AsyncServiceBrowser. It is still expected that async_update_records_complete can be overridden in subclasses, but it is recommended to subclass ServiceBrowser or AsyncServiceBrowser directly instead of _ServiceBrowserBase since the _ indicates _ServiceBrowserBase is protected and its internal api is not public
Codecov ReportPatch coverage is
📢 Thoughts on this report? Let us know!. |
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.
provide default handler for
async_update_records_completein_ServiceBrowserBaseasync_update_records_completeis no longer an abstract method in_ServiceBrowserBaseand a default handler is now provided which was originally inAsyncServiceBrowser. This allows us to cythonize the function and use the fast PyDict methods since its called so frequently when a browser is running.It is still expected that
async_update_records_completecan be overridden in subclasses, but it is recommended to subclassServiceBrowserorAsyncServiceBrowserdirectly instead of_ServiceBrowserBasesince the_indicates_ServiceBrowserBaseis protected and its internal api is not public (or stable)