Skip to content

1.6.0

tagged this 10 Jun 04:42
The SSH protocol never advertises how many simultaneous connections a server
accepts (sshd MaxStartups is private) — you only find out when handshakes
start getting dropped. Instead of a fixed parallel_connections guess plus
reactive retries, batches now use TCP-style congestion control:

- _AdaptiveLimiter gates worker concurrency with a condition variable
- Rate-limit rejections (kex_exchange_identification / connection closed)
  HALVE the limit — a burst of parallel rejections counts as one event
- A clean streak of ~3 ops per slot probes the limit back up by one
- parallel_connections now acts as the maximum, not a blind constant
- Panel logs each adjustment so the user can see the negotiation

New is_rate_limit() in errors.py distinguishes rate-limiting signatures from
plain timeouts (which don't imply too much concurrency).
Assets 2
Loading