Bound managed opening receiver-drain generations and classify opening deadline
overflow as invalid configuration.
Bounded receiver draining
Each outstanding generation now has one fixed 60 ms deadline. Natural empty
receives remain preferred, while scheduler-owned forced completion guarantees
progress under continuous socket traffic. Joined targets share the generation
and deadline.
Active pacing behavior
New active probes are suppressed while a receiver drain is outstanding.
Existing receives, timeouts, final draining, peer close, updates, and
cancellation continue. Pacing resumes on the existing absolute cadence and
skips missed slots without catch-up bursts.
Failure classification
ClientError::DurationOverflow during managed opening is classified as InvalidConfiguration. Runtime classification remains unchanged.
Testing
Added deterministic drain-state, forced-completion, stale-generation,
continuous-traffic, shared-generation, scheduler-wakeup, packet-race,
active-reply/timeout, final-timeout, and overflow regressions. Full workspace,
no-default client, Clippy, protocol, repeated liveness, detached-commit, and
forbidden-scope checks pass.
## Summary
Bound managed opening receiver-drain generations and classify opening deadline
overflow as invalid configuration.
## Bounded receiver draining
Each outstanding generation now has one fixed 60 ms deadline. Natural empty
receives remain preferred, while scheduler-owned forced completion guarantees
progress under continuous socket traffic. Joined targets share the generation
and deadline.
## Active pacing behavior
New active probes are suppressed while a receiver drain is outstanding.
Existing receives, timeouts, final draining, peer close, updates, and
cancellation continue. Pacing resumes on the existing absolute cadence and
skips missed slots without catch-up bursts.
## Failure classification
`ClientError::DurationOverflow` during managed opening is classified as
`InvalidConfiguration`. Runtime classification remains unchanged.
## Testing
Added deterministic drain-state, forced-completion, stale-generation,
continuous-traffic, shared-generation, scheduler-wakeup, packet-race,
active-reply/timeout, final-timeout, and overflow regressions. Full workspace,
no-default client, Clippy, protocol, repeated liveness, detached-commit, and
forbidden-scope checks pass.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Bound managed opening receiver-drain generations and classify opening deadline
overflow as invalid configuration.
Bounded receiver draining
Each outstanding generation now has one fixed 60 ms deadline. Natural empty
receives remain preferred, while scheduler-owned forced completion guarantees
progress under continuous socket traffic. Joined targets share the generation
and deadline.
Active pacing behavior
New active probes are suppressed while a receiver drain is outstanding.
Existing receives, timeouts, final draining, peer close, updates, and
cancellation continue. Pacing resumes on the existing absolute cadence and
skips missed slots without catch-up bursts.
Failure classification
ClientError::DurationOverflowduring managed opening is classified asInvalidConfiguration. Runtime classification remains unchanged.Testing
Added deterministic drain-state, forced-completion, stale-generation,
continuous-traffic, shared-generation, scheduler-wakeup, packet-race,
active-reply/timeout, final-timeout, and overflow regressions. Full workspace,
no-default client, Clippy, protocol, repeated liveness, detached-commit, and
forbidden-scope checks pass.