Skip to content

Defer retirement of active multiplexed resources - #29

Merged
samuel-williams-shopify merged 6 commits into
mainfrom
fix-multiplexed-resource-retirement
Aug 31, 2026
Merged

Defer retirement of active multiplexed resources#29
samuel-williams-shopify merged 6 commits into
mainfrom
fix-multiplexed-resource-retirement

Conversation

@samuel-williams-shopify

Copy link
Copy Markdown
Contributor

Summary

  • decrement a resource's usage before deciding whether it can be reused
  • remove non-reusable resources from availability immediately, while retaining active resources until their final release
  • keep non-viable active resources counted toward the pool limit and preserve forceful explicit retirement

This provides the pool ownership semantics needed by socketry/async-http#245 without adding HTTP-specific graceful shutdown behavior to the pool.

Tests

  • bundle exec sus
  • git ls-files -z '*.rb' | xargs -0 bundle exec rubocop
  • async-http HTTP/2 GOAWAY and reset regressions against local async-pool and protocol-http2 branches

Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
Signed-off-by: Samuel Williams <samuel.williams@shopify.com>
Assisted-By: devx/618580b0-d55f-4c2e-95b6-87e648f60543
@samuel-williams-shopify
samuel-williams-shopify merged commit 447b603 into main Aug 31, 2026
36 of 40 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the fix-multiplexed-resource-retirement branch August 31, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant