Class PaginationSubscription<ResponseT>
java.lang.Object
software.amazon.awssdk.core.pagination.async.PaginationSubscription<ResponseT>
- All Implemented Interfaces:
org.reactivestreams.Subscription
- Direct Known Subclasses:
ItemsSubscription,ResponsesSubscription
@SdkProtectedApi
public abstract class PaginationSubscription<ResponseT>
extends Object
implements org.reactivestreams.Subscription
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacePaginationSubscription.Builder<TypeToBuildT extends PaginationSubscription,BuilderT extends PaginationSubscription.Builder> protected static classPaginationSubscription.BuilderImpl<TypeToBuildT extends PaginationSubscription,BuilderT extends PaginationSubscription.Builder> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ResponseTprotected final AsyncPageFetcher<ResponseT>protected AtomicLongprotected final org.reactivestreams.Subscriber -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
-
Field Details
-
outstandingRequests
-
subscriber
protected final org.reactivestreams.Subscriber subscriber -
nextPageFetcher
-
currentPage
-
-
Constructor Details
-
PaginationSubscription
-
-
Method Details
-
request
public void request(long n) - Specified by:
requestin interfaceorg.reactivestreams.Subscription
-
handleRequests
protected abstract void handleRequests()Recursive method to deal with requests until there are no outstandingRequests or no more pages. -
cancel
public void cancel()- Specified by:
cancelin interfaceorg.reactivestreams.Subscription
-
hasNextPage
protected boolean hasNextPage() -
completeSubscription
protected void completeSubscription() -
isTerminated
protected boolean isTerminated() -
stopTask
protected void stopTask() -
cleanup
protected void cleanup()
-