Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Make Retryer conform to a public interface #521

Closed
wants to merge 9 commits into from

Conversation

jbelkins
Copy link
Contributor

@jbelkins jbelkins commented Feb 8, 2023

Issue #

awslabs/aws-sdk-swift#699

Description of changes

Configuration objects may now define properties whose type is different from the concrete type. This is used to provide an abstract Retryer while creating it from a conforming concrete type.

  • The type field on ConfigField is replaced by a concreteType and a protocolType. protocolType is optional, and if provided, is used as the type of the config property. If protocolType is not provided, the config property is of the same type as the concrete value.

The Retryer protocol is exposed publicly to define an interface for controlling retry.

  • The existing Retryer protocol type is made public.
  • RetryerMiddleware is configured with an abstract Retryer instead of a concrete SDKRetryer, to allow different retry mechanisms to be easily used with the same middleware.
  • The SDKRuntimeConfiguration protocol provides a Retryer instead of a concrete SDKRetryer.
  • The DefaultSDKRuntimeConfiguration is modified to conform to SDKRuntimeConfiguration.

Scope

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jbelkins jbelkins marked this pull request as ready for review February 8, 2023 18:13
@jbelkins jbelkins requested review from ganeshnj and epau February 8, 2023 21:44
@jbelkins jbelkins marked this pull request as draft February 17, 2023 17:13
@jbelkins
Copy link
Contributor Author

Closing, this will be performed in #533 instead.

@jbelkins jbelkins closed this Mar 13, 2023
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