Class AsyncRetryableStage<OutputT>
java.lang.Object
software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage<OutputT>
- All Implemented Interfaces:
RequestPipeline<SdkHttpFullRequest,
CompletableFuture<Response<OutputT>>>
public final class AsyncRetryableStage<OutputT>
extends Object
implements RequestPipeline<SdkHttpFullRequest,CompletableFuture<Response<OutputT>>>
Wrapper around the pipeline for a single request to provide retry, clockskew and request throttling functionality.
-
Constructor Summary
ConstructorDescriptionAsyncRetryableStage
(TransformingAsyncResponseHandler<Response<OutputT>> responseHandler, HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest, CompletableFuture<Response<OutputT>>> requestPipeline) AsyncRetryableStage
(TransformingAsyncResponseHandler<Response<OutputT>> responseHandler, HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest, CompletableFuture<Response<OutputT>>> requestPipeline, RateLimitingTokenBucket rateLimitingTokenBucket) -
Method Summary
Modifier and TypeMethodDescriptionexecute
(SdkHttpFullRequest request, RequestExecutionContext context) Execute the pipeline with the given input.
-
Constructor Details
-
AsyncRetryableStage
public AsyncRetryableStage(TransformingAsyncResponseHandler<Response<OutputT>> responseHandler, HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest, CompletableFuture<Response<OutputT>>> requestPipeline) -
AsyncRetryableStage
public AsyncRetryableStage(TransformingAsyncResponseHandler<Response<OutputT>> responseHandler, HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest, CompletableFuture<Response<OutputT>>> requestPipeline, RateLimitingTokenBucket rateLimitingTokenBucket)
-
-
Method Details
-
execute
public CompletableFuture<Response<OutputT>> execute(SdkHttpFullRequest request, RequestExecutionContext context) throws Exception Description copied from interface:RequestPipeline
Execute the pipeline with the given input.- Specified by:
execute
in interfaceRequestPipeline<SdkHttpFullRequest,
CompletableFuture<Response<OutputT>>> - Parameters:
request
- Input to pipeline.context
- Context containing both request dependencies, and a container for any mutable state that must be shared between stages.- Returns:
- Output of pipeline.
- Throws:
Exception
- If any error occurs. This will be thrown out of the pipeline, if exceptions must be handled seeRequestPipelineBuilder.wrappedWith(BiFunction)
.
-