Class ParallelMultipartDownloaderSubscriber

java.lang.Object
software.amazon.awssdk.services.s3.internal.multipart.ParallelMultipartDownloaderSubscriber
All Implemented Interfaces:
org.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>

@SdkInternalApi public class ParallelMultipartDownloaderSubscriber extends Object implements org.reactivestreams.Subscriber<AsyncResponseTransformer<GetObjectResponse,GetObjectResponse>>
A subscriber implementation that will download all individual parts for a multipart get-object request in parallel, concurrently. The amount of concurrent get-object is limited by the maxInFlightParts configuration. It receives the individual AsyncResponseTransformer which will be used to perform the individual part requests. These AsyncResponseTransformer should be able to handle receiving data in parts potentially out of order, For example, the AsyncResponseTransformer for part 4 might may have any of its callback called before part 1, 2 or 3 if it finishes before. This is a 'one-shot' class, it should NOT be reused for more than one multipart download.