Add comprehensive async migration plan for transport and debugger crates#366
Open
Add comprehensive async migration plan for transport and debugger crates#366
Conversation
This plan outlines a complete strategy for migrating the transport and debugger crates from sync-based concurrency to async-based concurrency. Key highlights: - Async transport layer with native timeout and cancellation support - Async debugger API with better resource management - Integration patterns for both egui and iced UI frameworks - Phased migration strategy to minimize risk - Detailed code examples and architecture diagrams The async migration will provide: - Better support for timeouts and cancellation - Improved resource utilization (tasks vs threads) - More composable APIs - Easier integration with modern Rust async ecosystem Timeline: 13-20 days estimated for full migration Recommendation: Use tokio runtime with incremental rollout
Updated the plan to focus exclusively on tokio rather than being runtime-agnostic. This simplifies the implementation significantly. Changes: - Replace async_lock with tokio::sync primitives (Mutex, RwLock) - Replace async_broadcast with tokio::sync::broadcast - Update egui bridge to use tokio::sync::mpsc for commands - Simplify dependencies (only tokio, tokio-util, async-trait) - Update all code examples to use tokio primitives - Streamline "Runtime Considerations" section - Emphasize tokio's superior tooling and ecosystem This aligns with the user's preference to commit to tokio as the async runtime rather than maintaining runtime abstraction.
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.
This plan outlines a complete strategy for migrating the transport and
debugger crates from sync-based concurrency to async-based concurrency.
Key highlights:
The async migration will provide:
Timeline: 13-20 days estimated for full migration
Recommendation: Use tokio runtime with incremental rollout