Assess the need for replacing async_service #525
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.
Assess the need for replacing async_service
This PR addresses the issue of evaluating alternatives to the current
async_service
implementation in this project, which was copied from the now unmaintained ethereum/async-service library.Analysis
After reviewing the codebase, I found that
async_service
provides critical functionality for managing long-running services in this project, including:Recommendation
I recommend replacing the current implementation with a simpler, more maintainable version based on anyio. The benefits include:
async_service
would require minimal changesProof of Concept
This PR includes a proof-of-concept implementation in the
proof-of-concept/
directory. It demonstrates how the core functionality can be preserved while simplifying the implementation.The PoC shows:
Questions for Maintainers
Next Steps
If this approach is accepted, I would implement a comprehensive test suite and provide a full implementation as a follow-up PR.
issue #524