Class RepeatStrategies

    • Method Detail

      • repeatWithConstantBackoffFullJitter

        public static java.util.function.IntFunction<Completable> repeatWithConstantBackoffFullJitter​(java.time.Duration delay,
                                                                                                      Executor timerExecutor)
        Creates a new repeat function that adds the passed constant Duration as delay between repeats.
        Parameters:
        delay - Constant Duration of delay between repeats.
        timerExecutor - Executor to be used to schedule timers for delay.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithConstantBackoffFullJitter

        public static java.util.function.IntFunction<Completable> repeatWithConstantBackoffFullJitter​(int maxRepeats,
                                                                                                      java.time.Duration delay,
                                                                                                      Executor timerExecutor)
        Creates a new repeat function that adds the passed constant Duration as delay between repeats.
        Parameters:
        maxRepeats - Maximum number of allowed repeats, after which the returned IntFunction will return a failed Completable with RepeatStrategies.TerminateRepeatException as the cause.
        delay - Constant Duration of delay between repeats.
        timerExecutor - Executor to be used to schedule timers for delay.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithConstantBackoffDeltaJitter

        public static java.util.function.IntFunction<Completable> repeatWithConstantBackoffDeltaJitter​(java.time.Duration delay,
                                                                                                       java.time.Duration jitter,
                                                                                                       Executor timerExecutor)
        Creates a new repeat function that adds the passed constant Duration as delay between repeats.
        Parameters:
        delay - Constant Duration of delay between repeats.
        jitter - The jitter to apply to delay on each repeat.
        timerExecutor - Executor to be used to schedule timers for delay.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithConstantBackoffDeltaJitter

        public static java.util.function.IntFunction<Completable> repeatWithConstantBackoffDeltaJitter​(int maxRepeats,
                                                                                                       java.time.Duration delay,
                                                                                                       java.time.Duration jitter,
                                                                                                       Executor timerExecutor)
        Creates a new repeat function that adds the passed constant Duration as delay between repeats.
        Parameters:
        maxRepeats - Maximum number of allowed repeats, after which the returned IntFunction will return a failed Completable with RepeatStrategies.TerminateRepeatException as the cause.
        delay - Constant Duration of delay between repeats.
        jitter - The jitter to apply to delay on each repeat.
        timerExecutor - Executor to be used to schedule timers for delay.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithExponentialBackoffFullJitter

        public static java.util.function.IntFunction<Completable> repeatWithExponentialBackoffFullJitter​(java.time.Duration initialDelay,
                                                                                                         java.time.Duration maxDelay,
                                                                                                         Executor timerExecutor)
        Creates a new repeat function that adds a delay between repeats. For first repeat, the delay is initialDelay which is increased exponentially for subsequent repeats. This additionally adds a "Full Jitter" for the backoff as described here.
        Parameters:
        initialDelay - Delay Duration for the first repeat and increased exponentially with each repeat.
        maxDelay - The maximum amount of delay that will be introduced.
        timerExecutor - Executor to be used to schedule timers for backoff.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithExponentialBackoffFullJitter

        public static java.util.function.IntFunction<Completable> repeatWithExponentialBackoffFullJitter​(int maxRepeats,
                                                                                                         java.time.Duration initialDelay,
                                                                                                         java.time.Duration maxDelay,
                                                                                                         Executor timerExecutor)
        Creates a new repeat function that adds a delay between repeats. For first repeat, the delay is initialDelay which is increased exponentially for subsequent repeats. This additionally adds a "Full Jitter" for the backoff as described here.
        Parameters:
        maxRepeats - Maximum number of allowed repeats, after which the returned IntFunction will return a failed Completable with RepeatStrategies.TerminateRepeatException as the cause.
        initialDelay - Delay Duration for the first repeat and increased exponentially with each repeat.
        maxDelay - The maximum amount of delay that will be introduced.
        timerExecutor - Executor to be used to schedule timers for backoff.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithExponentialBackoffDeltaJitter

        public static java.util.function.IntFunction<Completable> repeatWithExponentialBackoffDeltaJitter​(java.time.Duration initialDelay,
                                                                                                          java.time.Duration jitter,
                                                                                                          java.time.Duration maxDelay,
                                                                                                          Executor timerExecutor)
        Creates a new repeat function that adds a delay between repeats. For first repeat, the delay is initialDelay which is increased exponentially for subsequent repeats.
        Parameters:
        initialDelay - Delay Duration for the first repeat and increased exponentially with each repeat.
        jitter - The jitter to apply to initialDelay on each repeat.
        maxDelay - The maximum amount of delay that will be introduced.
        timerExecutor - Executor to be used to schedule timers for backoff.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.
      • repeatWithExponentialBackoffDeltaJitter

        public static java.util.function.IntFunction<Completable> repeatWithExponentialBackoffDeltaJitter​(int maxRepeats,
                                                                                                          java.time.Duration initialDelay,
                                                                                                          java.time.Duration jitter,
                                                                                                          java.time.Duration maxDelay,
                                                                                                          Executor timerExecutor)
        Creates a new repeat function that adds a delay between repeats. For first repeat, the delay is initialDelay which is increased exponentially for subsequent repeats.
        Parameters:
        maxRepeats - Maximum number of allowed repeats, after which the returned IntFunction will return a failed Completable with RepeatStrategies.TerminateRepeatException as the cause.
        initialDelay - Delay Duration for the first repeat and increased exponentially with each repeat.
        jitter - The jitter to apply to initialDelay on each repeat.
        maxDelay - The maximum amount of delay that will be introduced.
        timerExecutor - Executor to be used to schedule timers for backoff.
        Returns:
        An IntFunction to be used for repeats which given a repeat count returns a Completable that terminates successfully when the source has to be repeated or terminates with error if the source should not be repeated.