Package com.google.api.gax.retrying
Interface RetryingExecutor<ResponseT>
- Type Parameters:
ResponseT- response type
- All Known Subinterfaces:
RetryingExecutorWithContext<ResponseT>
- All Known Implementing Classes:
DirectRetryingExecutor,ScheduledRetryingExecutor
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
Callablein a retriable context.
-
Method Summary
Modifier and TypeMethodDescriptioncreateFuture(Callable<ResponseT> callable) Creates theRetryingFuture, which is a facade, returned to the client code to wait for any retriable operation to complete.submit(RetryingFuture<ResponseT> retryingFuture) Submits an attempt for execution.
-
Method Details
-
createFuture
Creates theRetryingFuture, which is a facade, returned to the client code to wait for any retriable operation to complete.- Parameters:
callable- the actual callable, which should be executed in a retriable context- Returns:
- retrying future facade
-
submit
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.- Parameters:
retryingFuture- the future previously returned bycreateFuture(Callable)and reused for each subsequent attempt of same operation.- Returns:
- submitted attempt future
-