Feature: Fine-grained Timeout Configuration (#831)
* add: TimeoutConfig add: provider to fetch timeout from profile add: provider to fetch timeout from environment add: default provider for TimeoutConfigs update: aws_config::Config to support timeout conf update: rustdoc lint * add: TimeoutConfigBuilder::merge_with test * update: changelogs * add: timeout_config to client and builder add: generic timeout service add: non-working timeout layer * add: timeout layer/service with configurable duration add: test that ensures timeout service works * fix: eliminate useless clones * feature: Kotlin decorator for TimeoutConfig add: tests for timeout-related codegen update: incorrect package path in RetryConfigDecorator.kt fix: outdated aws-config timeout config code * remove: link to struct in external crate fix: outdated doc test fix: add missing import to doc test fix: copypaste error in doc test update: outdated lint name * update: comment on Builder::timeout_config panics add: test ensuring timeouts can't be infinite update: use a floating point number in a timeout doc update: message for failed profile load to mention that profile will be skipped remove: commented out code update: attempt to make difference between api_call_timeout and api_call_attempt_timeout clearer update: outdated doc comments update: TimeoutConfigError descriptions * formatting: arrange imports in aws_smithy_client lib.rs add: todo for improving timeout error categorization * update: var parsers to work without needless allocations update: improve example for default timeout config provider update: improve example for default retry config provider fix: unhelpful doc comment for TimeoutLayerFuture<T> remove: outdated TODO * fix: various typos in docs add: PR links to changelogs format: doc references to structs to look nicer add: note about expected form and unit of timeout config data update: expand ProfileFileTimeoutConfigProvider example * fix: relocate provider config tests to the correct package/directory remove: unimplemented timeouts from `Settings` * add: S3 integration test for timeouts update: re-enable TimeoutLayers add: "list_of_set_timeouts" logging helper to TimeoutConfig refactor: the way TimeoutService handles futures so that it can work better with no timeout set add: helper structs to make creating timeout services easier * update: split timeout_config example into multiple lines * fix: Clippy lints * fix: outdated test * fix: more clippy lints * fix: typo add: TimeoutConfig example * Update CHANGELOG.md Co-authored-by:Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * Update aws/rust-runtime/aws-config/src/default_provider.rs Co-authored-by:
Russell Cohen <rcoh@amazon.com> * feature: user-configurable AsyncSleep impls update: fallback to sleep impl that sleeps forever instead of sleep impl being optional * Update rust-runtime/aws-smithy-types/src/timeout.rs Co-authored-by:
John DiSanti <jdisanti@amazon.com> * update: changelogs format: SleepImplDecorator.kt update: TimeoutConfig doc remove: list_of_set_timeouts in favor of Debug impl for TimeoutConfig * Apply suggestions from code review Co-authored-by:
John DiSanti <jdisanti@amazon.com> * fix: broken macro doc test by ignoring it fix: outdated struct ref in doc fix: outdated generated doc * fix: mode broken doc tests * fix: broken doc test * attempt to fix CI-only doc test error * add: moduleUseName method to CodegenContext remove: pub use reexports from timeout and sleep impl decorators add: pub use reexports to aws_config for timeout and retry configs undo: default_sleep_impl changes attempt to add tokio time feature to S3 integration test * Update timeout.rs * Apply suggestions from code review Co-authored-by:
John DiSanti <jdisanti@amazon.com> * refactor: consolidate timeout parsing logic rename: `RetryConfigBuilder::merge_with` to `RetryConfigBuilder::take_unset_from` refactor: move timeout parsing tests to timeouts.rs add: entry to SDK changelog noting the renaming remove: redundant feature from s3 integration test Cargo.toml update: various setters added by this PR to have the same form as our preexisting setters add: extra info to the warning emitted when ConfigLoader calls default_async_sleep and gets None * fix: tests broken when implementing suggestions * update: doc hide sleep_impl for aws_types::Config remove: leftover comment Co-authored-by:
Russell Cohen <rcoh@amazon.com> Co-authored-by:
John DiSanti <jdisanti@amazon.com>
Loading
Please register or sign in to comment