/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link ListMetricsIterable} that can be used to retrieve the consecutive * pages that follows the input page. * </p> */ private final ListMetricsIterable resume(ListMetricsResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new ListMetricsIterable(client, firstRequest.toBuilder().nextToken(lastSuccessfulPage.nextToken()).build()); } return new ListMetricsIterable(client, firstRequest) { @Override public Iterator<ListMetricsResponse> iterator() { return Collections.emptyIterator(); } }; }
/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link ListMetricsPublisher} that can be used to retrieve the * consecutive pages that follows the input page. * </p> */ private final ListMetricsPublisher resume(ListMetricsResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new ListMetricsPublisher(client, firstRequest.toBuilder().nextToken(lastSuccessfulPage.nextToken()).build()); } return new ListMetricsPublisher(client, firstRequest, true) { @Override public void subscribe(Subscriber<? super ListMetricsResponse> subscriber) { subscriber.onSubscribe(new EmptySubscription(subscriber)); } }; }
/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link ListMetricsIterable} that can be used to retrieve the consecutive * pages that follows the input page. * </p> */ private final ListMetricsIterable resume(ListMetricsResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new ListMetricsIterable(client, firstRequest.toBuilder().nextToken(lastSuccessfulPage.nextToken()).build()); } return new ListMetricsIterable(client, firstRequest) { @Override public Iterator<ListMetricsResponse> iterator() { return Collections.emptyIterator(); } }; }
/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link ListMetricsPublisher} that can be used to retrieve the * consecutive pages that follows the input page. * </p> */ private final ListMetricsPublisher resume(ListMetricsResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new ListMetricsPublisher(client, firstRequest.toBuilder().nextToken(lastSuccessfulPage.nextToken()).build()); } return new ListMetricsPublisher(client, firstRequest, true) { @Override public void subscribe(Subscriber<? super ListMetricsResponse> subscriber) { subscriber.onSubscribe(new EmptySubscription(subscriber)); } }; }
@Override public CompletableFuture<ListMetricsResponse> nextPage(final ListMetricsResponse previousPage) { if (previousPage == null) { return client.listMetrics(firstRequest); } return client.listMetrics(firstRequest.toBuilder().nextToken(previousPage.nextToken()).build()); } }
@Override public ListMetricsResponse nextPage(ListMetricsResponse previousPage) { if (previousPage == null) { return client.listMetrics(firstRequest); } return client.listMetrics(firstRequest.toBuilder().nextToken(previousPage.nextToken()).build()); } }
@Override public ListMetricsResponse nextPage(ListMetricsResponse previousPage) { if (previousPage == null) { return client.listMetrics(firstRequest); } return client.listMetrics(firstRequest.toBuilder().nextToken(previousPage.nextToken()).build()); } }
@Override public CompletableFuture<ListMetricsResponse> nextPage(final ListMetricsResponse previousPage) { if (previousPage == null) { return client.listMetrics(firstRequest); } return client.listMetrics(firstRequest.toBuilder().nextToken(previousPage.nextToken()).build()); } }