Skip to content

Conversation

@annahay4
Copy link
Contributor

Motivation and Context

This implementation offers a simpler alternative to the adaptive retry strategy for use cases where static rate limiting is preferred. The strategy uses a token bucket for rate limiting combined with exponential backoff, but maintains fixed token bucket parameters rather than dynamically adjusting rates based on service responses.

Description

This PR adds a new StaticRetryStrategy that provides retry logic with token bucket rate limiting and exponential backoff, without the dynamic rate calculation used in the standard retry strategy.

I am still working on getting the test-util tests correct and passing, but wanted to get input on the general implementation of the PR sooner rather than later.

Testing

Ran cargo test using the instructions outlined in the README:

cd rust-runtime
cargo test
cargo clippy

Checklist

  • For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "client," "server," or both in the applies_to key.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@annahay4 annahay4 requested review from a team as code owners November 13, 2025 15:22
@annahay4 annahay4 marked this pull request as draft November 13, 2025 16:46
@annahay4 annahay4 marked this pull request as ready for review November 17, 2025 15:29
@annahay4 annahay4 marked this pull request as draft November 17, 2025 15:30
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