@InterfaceAudience.Private public class ResultBoundedCompletionService<V> extends Object
| Modifier and Type | Class and Description | 
|---|---|
| (package private) class  | ResultBoundedCompletionService.QueueingFuture<T> | 
| Modifier and Type | Field and Description | 
|---|---|
| private boolean | cancelled | 
| private ArrayList<ResultBoundedCompletionService.QueueingFuture> | completedTasks | 
| private Executor | executor | 
| private static org.slf4j.Logger | LOG | 
| private RpcRetryingCallerFactory | retryingCallerFactory | 
| private ResultBoundedCompletionService.QueueingFuture<V>[] | tasks | 
| Constructor and Description | 
|---|
| ResultBoundedCompletionService(RpcRetryingCallerFactory retryingCallerFactory,
                              Executor executor,
                              int maxTasks) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | cancelAll() | 
| ResultBoundedCompletionService.QueueingFuture<V> | poll(long timeout,
    TimeUnit unit)Poll for the first completed task whether it is a success or execution exception. | 
| ResultBoundedCompletionService.QueueingFuture<V> | pollForFirstSuccessfullyCompletedTask(long timeout,
                                     TimeUnit unit,
                                     int startIndex,
                                     int endIndex)Poll for the first successfully completed task whose completed order is in startIndex,
 endIndex(exclusive) range | 
| private ResultBoundedCompletionService.QueueingFuture<V> | pollForSpecificCompletedTask(long timeout,
                            TimeUnit unit,
                            int index)Poll for the Nth completed task (index starts from 0 (the 1st), 1 (the second)...) | 
| void | submit(RetryingCallable<V> task,
      int callTimeout,
      int id) | 
| ResultBoundedCompletionService.QueueingFuture<V> | take() | 
private static final org.slf4j.Logger LOG
private final RpcRetryingCallerFactory retryingCallerFactory
private final ResultBoundedCompletionService.QueueingFuture<V>[] tasks
private final ArrayList<ResultBoundedCompletionService.QueueingFuture> completedTasks
private volatile boolean cancelled
public ResultBoundedCompletionService(RpcRetryingCallerFactory retryingCallerFactory, Executor executor, int maxTasks)
public void submit(RetryingCallable<V> task, int callTimeout, int id)
public ResultBoundedCompletionService.QueueingFuture<V> take() throws InterruptedException
InterruptedExceptionpublic ResultBoundedCompletionService.QueueingFuture<V> poll(long timeout, TimeUnit unit) throws InterruptedException
timeout - - time to wait before it times outunit - - time unit for timeoutInterruptedExceptionpublic ResultBoundedCompletionService.QueueingFuture<V> pollForFirstSuccessfullyCompletedTask(long timeout, TimeUnit unit, int startIndex, int endIndex) throws InterruptedException, CancellationException, ExecutionException
timeout - - time to wait before it times outunit - - time unit for timeoutstartIndex - - start index, starting from 0, inclusiveendIndex - - end index, exclusiveInterruptedExceptionCancellationExceptionExecutionExceptionprivate ResultBoundedCompletionService.QueueingFuture<V> pollForSpecificCompletedTask(long timeout, TimeUnit unit, int index) throws InterruptedException
timeout - - time to wait before it times outunit - - time unit for timeoutindex - - the index(th) completed task, index starting from 0InterruptedExceptionpublic void cancelAll()
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.