Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
261beac
Add support for configurable token bucket success reward and fraction…
annahay4 Nov 13, 2025
d2c1775
Adding additional functionality for token bucket, including max capac…
annahay4 Nov 21, 2025
a7b4dea
Adding additional functionality for token bucket, including max capac…
annahay4 Nov 21, 2025
7b79fe5
Adding additional functionality for token bucket, including max capac…
annahay4 Nov 21, 2025
e539769
fix clippy errors
annahay4 Nov 25, 2025
79c07a3
Adding success rewards
annahay4 Dec 4, 2025
c1fbcb9
Adding time based refill support. Extracted fractional token manageme…
annahay4 Dec 5, 2025
de01719
ran cargo fmt
annahay4 Dec 5, 2025
a5ee3a6
feat: add static rate limiting mode alongside existing dynamic mode
annahay4 Nov 11, 2025
f7aaf18
feat: add static rate limiting mode alongside existing dynamic mode
annahay4 Nov 11, 2025
397a074
Adding static retry strategy
annahay4 Nov 12, 2025
f4e24d0
Adding static rate limiting
annahay4 Nov 12, 2025
140dc16
Adding time based refill support. Extracted fractional token manageme…
annahay4 Dec 5, 2025
6ae4b5c
ran cargo fmt
annahay4 Dec 5, 2025
face3b8
Merge branch 'main' into newBranch
annahay4 Dec 10, 2025
0a59b8e
Adding static retry strategy
annahay4 Nov 12, 2025
4e640e5
Add support for configurable token bucket success reward and fraction…
annahay4 Nov 13, 2025
c5a336b
Adding time based refill support. Extracted fractional token manageme…
annahay4 Dec 5, 2025
bf85a71
Adding time based refill support. Extracted fractional token manageme…
annahay4 Dec 5, 2025
3803ed4
Fixed formatting
annahay4 Dec 11, 2025
08fbe84
Merge branch 'main' into newBranch
annahay4 Dec 11, 2025
762c71d
Updating maximum capacity to be exported from retries module
annahay4 Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changelog/1762986506.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
applies_to:
- client
authors:
- annahay
references: []
breaking: false
new_feature: false
bug_fix: true
---
Add support for static retry strategy
11 changes: 11 additions & 0 deletions .changelog/1763060740.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
applies_to:
- client
authors:
- annahay
references: []
breaking: false
new_feature: true
bug_fix: false
---
Add support for configurable token bucket success reward and fractional token management
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ class RetryPartitionTest {
"RetryPartition" to RuntimeType.smithyRuntime(ctx.runtimeConfig).resolve("client::retries::RetryPartition"),
"RuntimeComponents" to RuntimeType.runtimeComponents(ctx.runtimeConfig),
"TokenBucket" to RuntimeType.smithyRuntime(ctx.runtimeConfig).resolve("client::retries::TokenBucket"),
"MAXIMUM_CAPACITY" to RuntimeType.smithyRuntime(ctx.runtimeConfig).resolve("client::retries::MAXIMUM_CAPACITY"),
)
crate.integrationTest("custom_retry_partition") {
tokioTest("test_custom_token_bucket") {
Expand All @@ -139,7 +140,8 @@ class RetryPartitionTest {
) -> Result<(), #{BoxError}> {
self.called.fetch_add(1, Ordering::Relaxed);
let token_bucket = cfg.load::<#{TokenBucket}>().unwrap();
let expected = format!("permits: {}", tokio::sync::Semaphore::MAX_PERMITS);
let max_capacity = #{MAXIMUM_CAPACITY};
let expected = format!("permits: {}", max_capacity);
assert!(
format!("{token_bucket:?}").contains(&expected),
"Expected debug output to contain `{expected}`, but got: {token_bucket:?}"
Expand Down
2 changes: 1 addition & 1 deletion rust-runtime/aws-smithy-runtime/src/client/retries.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ use std::fmt;
pub use client_rate_limiter::{
ClientRateLimiter, ClientRateLimiterBuilder, ClientRateLimiterPartition,
};
pub use token_bucket::{TokenBucket, TokenBucketBuilder};
pub use token_bucket::{TokenBucket, TokenBucketBuilder, MAXIMUM_CAPACITY};

use std::borrow::Cow;

Expand Down
Loading