Interface ExponentialBackOff

All Known Implementing Classes:
ExponentialBackOffImpl

@Experimental public interface ExponentialBackOff
Interface to implement an exponential back-off algorithm that retries the request based on the result of the remote operation.

This interface contains 2 methods: asyncBackOff() ()} which should be invoked if the request needs to be retried and reset(), invoked when a request is "successful", which resets the state.

Since:
12.0
Author:
Pedro Ruivo
  • Field Details

  • Method Details

    • reset

      void reset()
      Resets its state.

      The blocking time in asyncBackOff() increases with the number of consecutive retries. This methods resets its state back to the initial sleep time.

    • asyncBackOff

      CompletionStage<Void> asyncBackOff()
      It returns a CompletionStage which is completed a certain amount of time before retries the request.

      After the completion, the request is allows to proceed.

      Returns:
      A CompletionStage.