Skip to content

Make queued client operations cancellation-aware and bounded#51

Merged
ryanfowler merged 1 commit into
mainfrom
fix-cancellationaware-client-queue
May 27, 2026
Merged

Make queued client operations cancellation-aware and bounded#51
ryanfowler merged 1 commit into
mainfrom
fix-cancellationaware-client-queue

Conversation

@ryanfowler

Copy link
Copy Markdown
Owner

Summary

  • Skip queued async commands when their reply oneshot has already been canceled, so dropped or timed-out futures do not run later.
  • Add ClientBuilder::queue_capacity() and PoolBuilder::queue_capacity() to bound worker queues.
  • Return Error::QueueFull when a bounded queue is saturated, and switch enqueue paths to nonblocking try_send.
  • Add regression coverage for canceled queued work and full-queue behavior.

Testing

  • cargo fmt --all -- --check
  • cargo build
  • cargo test
  • cargo clippy -- -D warnings

@ryanfowler ryanfowler merged commit 73cc5e7 into main May 27, 2026
2 checks passed
@ryanfowler ryanfowler deleted the fix-cancellationaware-client-queue branch May 27, 2026 05:39
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