Skip to content

docs(design): incremental async migration plan#3664

Merged
oferchen merged 2 commits into
masterfrom
docs/async-migration-plan-1594
May 5, 2026
Merged

docs(design): incremental async migration plan#3664
oferchen merged 2 commits into
masterfrom
docs/async-migration-plan-1594

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 5, 2026

Summary

Adds docs/design/async-migration-plan.md (#1594) - a single roadmap that sequences the existing async sub-system designs into a five-phase, feature-gated migration with wire-compat preserved at every phase.

Five-phase outline

Wire-compat invariant

Zero protocol changes across all phases. No new MSG_ frame types, no new capability flags, no new @RSYNCD: greeting variants, no new exit codes. Each phase rollout PR ships a tcpdump replay that must be byte-identical to upstream rsync 3.4.1. The async migration is purely an internal concurrency model change.

Phases 4 and 5 are explicitly "if benchmarks justify"; the project may stop indefinitely at the end of any phase.

Test plan

  • Doc renders cleanly on GitHub.
  • No cargo impact (docs-only change).
  • CI passes the docs lint job.

Adds docs/design/async-migration-plan.md (#1594) sequencing the move
from a sync transfer hot path to a hybrid sync/async model in five
feature-gated phases. The plan preserves wire compatibility at every
phase, defines per-phase exit criteria (golden bytes, criterion
benchmarks, coverage, interop), and provides an env-var rollback for
each phase. No code changes.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 5, 2026
@oferchen oferchen merged commit e0b6780 into master May 5, 2026
7 checks passed
@oferchen oferchen deleted the docs/async-migration-plan-1594 branch May 5, 2026 12:46
oferchen added a commit that referenced this pull request May 18, 2026
Adds docs/design/async-migration-plan.md (#1594) sequencing the move
from a sync transfer hot path to a hybrid sync/async model in five
feature-gated phases. The plan preserves wire compatibility at every
phase, defines per-phase exit criteria (golden bytes, criterion
benchmarks, coverage, interop), and provides an env-var rollback for
each phase. No code changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant