-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add initial implementation of synchronous Waiters #571
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
adwsingh
reviewed
Feb 1, 2025
waiters/src/main/java/software/amazon/smithy/java/waiters/Waiter.java
Outdated
Show resolved
Hide resolved
waiters/src/main/java/software/amazon/smithy/java/waiters/Waiter.java
Outdated
Show resolved
Hide resolved
waiters/src/main/java/software/amazon/smithy/java/waiters/matching/Acceptor.java
Outdated
Show resolved
Hide resolved
adwsingh
approved these changes
Feb 3, 2025
waiters/src/main/java/software/amazon/smithy/java/waiters/Waiter.java
Outdated
Show resolved
Hide resolved
waiters/src/main/java/software/amazon/smithy/java/waiters/backoff/DefaultRetryStrategy.java
Outdated
Show resolved
Hide resolved
adwsingh
reviewed
Feb 3, 2025
waiters/src/main/java/software/amazon/smithy/java/waiters/WaiterState.java
Outdated
Show resolved
Hide resolved
mtdowling
reviewed
Feb 3, 2025
client/waiters/src/main/java/software/amazon/smithy/java/waiters/WaiterSettings.java
Show resolved
Hide resolved
mtdowling
approved these changes
Feb 3, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes
Adds an initial implementation of synchronous smithy waiters.
Waiters can be created without codegen, but a codegen integration is provided to automatically create waiters base on trait in the service model.
Base usage
Example of creating and using a waiter in code:
If the waiter ends in a FAILURE state it throws a
WaiterFailureException
.Codegen
Waiters can be code generated into a container class using the
waiter
codegen integration. This integration needs to be added on thesmithyBuild
configuration of the package and thewaiters
package needs to be added as a runtime dependency for the generated waiter code to work. For example:The codegen integration will create a waiter container that provides pre-defined waiters based on smithy traits in the model.
For example, the following smithy model:
Will generate:
The codegen integration will also create a
waiter()
method on clients that instantiates a new instance of the waiter container for the current client.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.