Class ParallelPresignedUrlMultipartDownloaderSubscriber
java.lang.Object
software.amazon.awssdk.services.s3.internal.multipart.ParallelPresignedUrlMultipartDownloaderSubscriber
- All Implemented Interfaces:
org.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
@SdkInternalApi
public class ParallelPresignedUrlMultipartDownloaderSubscriber
extends Object
implements org.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
A parallel subscriber for multipart presigned URL downloads that writes parts concurrently.
Used with
FileAsyncResponseTransformerPublisher
when parallelSplitSupported() == true (i.e., toFile() downloads).
Unlike PresignedUrlMultipartDownloaderSubscriber which requests one part at a time,
this subscriber requests up to maxInFlightParts concurrently, similar to
ParallelMultipartDownloaderSubscriber for regular multipart downloads.
-
Constructor Summary
ConstructorsConstructorDescriptionParallelPresignedUrlMultipartDownloaderSubscriber(S3AsyncClient s3AsyncClient, PresignedUrlDownloadRequest presignedUrlDownloadRequest, long configuredPartSizeInBytes, CompletableFuture<GetObjectResponse> resultFuture, int maxInFlightParts) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidonNext(AsyncResponseTransformer<GetObjectResponse, GetObjectResponse> asyncResponseTransformer) voidonSubscribe(org.reactivestreams.Subscription s)
-
Constructor Details
-
ParallelPresignedUrlMultipartDownloaderSubscriber
public ParallelPresignedUrlMultipartDownloaderSubscriber(S3AsyncClient s3AsyncClient, PresignedUrlDownloadRequest presignedUrlDownloadRequest, long configuredPartSizeInBytes, CompletableFuture<GetObjectResponse> resultFuture, int maxInFlightParts)
-
-
Method Details
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription s) - Specified by:
onSubscribein interfaceorg.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
-
onNext
public void onNext(AsyncResponseTransformer<GetObjectResponse, GetObjectResponse> asyncResponseTransformer) - Specified by:
onNextin interfaceorg.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
-
onError
- Specified by:
onErrorin interfaceorg.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
-
onComplete
public void onComplete()- Specified by:
onCompletein interfaceorg.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
-