public
interface
RetryingExecutor<ResponseT>
A retrying executor is responsible for the following operations:
- Creating first attempt RetryingFuture , which acts as a facade, hiding from client code the actual execution of scheduled retry attempts.
- Executing the actual Callable in a retriable context.
This interface is for internal/advanced use only.
Type Parameter
ResponseT
Methods
createFuture(Callable<ResponseT> callable)
public
abstract
RetryingFuture<ResponseT>
createFuture
(
Callable<ResponseT>
callable
)
Creates the RetryingFuture , which is a facade, returned to the client code to wait for any retriable operation to complete.
callable
submit(RetryingFuture<ResponseT> retryingFuture)
public
abstract
ApiFuture<ResponseT>
submit
(
RetryingFuture<ResponseT>
retryingFuture
)
Submits an attempt for execution. A typical implementation will either try to execute the attempt in the current thread or schedule it for an execution, using some sort of async execution service.
retryingFuture
RetryingFuture
< ResponseT
>
the future previously returned by #createFuture(Callable) and reused for each subsequent attempt of same operation.

