Skip to content

feat(engine): add AIMD limiter convergence tests and CLI flag (#2092, #2093)#3961

Merged
oferchen merged 1 commit into
masterfrom
feat/aimd-limiter-cli-2093
May 13, 2026
Merged

feat(engine): add AIMD limiter convergence tests and CLI flag (#2092, #2093)#3961
oferchen merged 1 commit into
masterfrom
feat/aimd-limiter-cli-2093

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • Add convergence tests for the AIMD adaptive-concurrency limiter under error injection (Remove legacy daemon wrappers #2092): alternating success/overload stabilization, sustained success monotonic growth, debounce window expiration, multi-window slow-start doubling, and slow-start-to-additive transition on first overload.
  • Add --adaptive-concurrency / --no-adaptive-concurrency CLI flag pair (Brand version banners around oc-rsync #2093), wired through the full config chain (ParsedArgs -> ConfigInputs -> ClientConfigBuilder -> ClientConfig -> WriteConfig). Default is disabled (opt-in for now).

Test plan

  • All 21 limiter tests pass (cargo nextest run -p engine -E 'test(limiter)')
  • All 157 CLI parser tests pass (cargo nextest run -p cli -E 'test(parser)')
  • cargo fmt --all -- --check passes
  • No new clippy warnings (pre-existing must_use_unit in fast_io unrelated)
  • CI: fmt+clippy, nextest (stable), Windows, macOS, Linux musl

@github-actions github-actions Bot added the enhancement New feature or request label May 12, 2026
@oferchen oferchen force-pushed the feat/aimd-limiter-cli-2093 branch from 80a21ba to 6d82aab Compare May 13, 2026 01:09
…2093)

Add convergence tests for the AIMD adaptive-concurrency limiter:
- Alternating success/overload stabilizes target within bounded range
- Sustained successes grow target monotonically
- Debounce window expires after 2 * rtt_ema
- Slow-start doubles over multiple windows
- Overload during slow-start transitions to additive growth

Add --adaptive-concurrency / --no-adaptive-concurrency CLI flag pair,
wired through ParsedArgs -> ConfigInputs -> ClientConfigBuilder ->
ClientConfig -> WriteConfig. Default is disabled (opt-in).
@oferchen oferchen force-pushed the feat/aimd-limiter-cli-2093 branch from 6d82aab to afed66e Compare May 13, 2026 01:16
@oferchen oferchen merged commit 212cefb into master May 13, 2026
12 checks passed
@oferchen oferchen deleted the feat/aimd-limiter-cli-2093 branch May 13, 2026 11:06
oferchen added a commit that referenced this pull request May 18, 2026
…2093) (#3961)

Add convergence tests for the AIMD adaptive-concurrency limiter:
- Alternating success/overload stabilizes target within bounded range
- Sustained successes grow target monotonically
- Debounce window expires after 2 * rtt_ema
- Slow-start doubles over multiple windows
- Overload during slow-start transitions to additive growth

Add --adaptive-concurrency / --no-adaptive-concurrency CLI flag pair,
wired through ParsedArgs -> ConfigInputs -> ClientConfigBuilder ->
ClientConfig -> WriteConfig. Default is disabled (opt-in).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant