Class ReconnectOptions.Builder

java.lang.Object
discord4j.common.retry.ReconnectOptions.Builder
Enclosing class:
ReconnectOptions

public static class ReconnectOptions.Builder extends Object
  • Constructor Details

    • Builder

      protected Builder()
  • Method Details

    • setFirstBackoff

      public ReconnectOptions.Builder setFirstBackoff(Duration firstBackoff)
      Set the first Duration to be applied when computing a backoff. Defaults to 2 seconds.
      Parameters:
      firstBackoff - the minimum duration to be applied as backoff
      Returns:
      this builder
    • setMaxBackoffInterval

      public ReconnectOptions.Builder setMaxBackoffInterval(Duration maxBackoffInterval)
      Set the maximum Duration to be applied when computing a backoff. Defaults to 30 seconds.
      Parameters:
      maxBackoffInterval - the maximum duration to be applied as backoff
      Returns:
      this builder
    • setMaxRetries

      public ReconnectOptions.Builder setMaxRetries(long maxRetries)
      Set the maximum number of iterations to retry before rethrowing the error as exhausted attempts. Defaults to Long.MAX_VALUE (unlimited retries).
      Parameters:
      maxRetries - the maximum number of retries
      Returns:
      this builder
    • setBackoff

      @Deprecated public ReconnectOptions.Builder setBackoff(Backoff backoff)
      Deprecated.
      only select implementations will use this value. Moving forward, consider assuming an exponential backoff function bounded by ReconnectOptions.getFirstBackoff() and ReconnectOptions.getMaxBackoffInterval()
      Set the backoff function given by reactor-extra Backoff type. Defaults to an exponential backoff strategy that uses a context object for obtaining the actual iteration.
      Parameters:
      backoff - a backoff function to apply on retries
      Returns:
      this builder
    • setJitter

      @Deprecated public ReconnectOptions.Builder setJitter(Jitter jitter)
      Deprecated.
      only select implementations will use this value. Moving forward, consider using setJitterFactor(double)}
      Set the jitter function given by reactor-extra Jitter type. Defaults to 50% randomness.
      Parameters:
      jitter - a jitter function to apply on retries
      Returns:
      this builder
    • setBackoffScheduler

      public ReconnectOptions.Builder setBackoffScheduler(Scheduler backoffScheduler)
      Set the Scheduler to be used when building delayed sequences as backoff. Defaults to dedicated parallel scheduler ReconnectOptions.DEFAULT_BACKOFF_SCHEDULER.
      Parameters:
      backoffScheduler - a reactor scheduler used for backoff delays
      Returns:
      this builder
    • setJitterFactor

      public ReconnectOptions.Builder setJitterFactor(double jitterFactor)
      Set a jitter factor for exponential backoff that adds randomness to each backoff. Defaults to 0.5 (a jitter of at most 50% of the computed delay)
      Parameters:
      jitterFactor - the new jitter factor as a double between 0d and 1d
      Returns:
      this builder
    • build

      public ReconnectOptions build()