Packages

object RetryPolicy

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RetryPolicy
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val ChannelClosedExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Use ResponseClassifier.RetryOnChannelClosed for the ResponseClassifier equivalent.

  5. val Never: RetryPolicy[Try[Nothing]]

    A RetryPolicy that never retries.

    A RetryPolicy that never retries.

    See also

    none for a more generally applicable version.

  6. val TimeoutAndWriteExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Use ResponseClassifier.RetryOnTimeout composed with ResponseClassifier.RetryOnWriteExceptions for the ResponseClassifier equivalent.

  7. val WriteExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Failures that are generally retryable because the request failed before it finished being written to the remote service.

    Failures that are generally retryable because the request failed before it finished being written to the remote service. See com.twitter.finagle.WriteException.

  8. def apply[A](f: (A) => Option[(Duration, RetryPolicy[A])]): RetryPolicy[A]

    Lifts a function of type A => Option[(Duration, RetryPolicy[A])] in the RetryPolicy type.

    Lifts a function of type A => Option[(Duration, RetryPolicy[A])] in the RetryPolicy type.

    f

    The function used to classify values.

    Note

    the RetryPolicy.named function should be preferred to make inspection of the RetryPolicy easier.

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def backoff[A](backoffs: Backoff)(shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    Retry based on a series of backoffs defined by a Stream[Duration].

    Retry based on a series of backoffs defined by a Stream[Duration]. The stream is consulted to determine the duration after which a request is to be retried. A PartialFunction argument determines which request types are retryable.

    See also

    backoffJava for a Java friendly API.

  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  12. def combine[A](policies: RetryPolicy[A]*): RetryPolicy[A]

    Combines multiple RetryPolicys into a single combined RetryPolicy, with interleaved backoffs.

    Combines multiple RetryPolicys into a single combined RetryPolicy, with interleaved backoffs. For a given value of A, each policy in policies is tried in order. If all policies return None, then the combined RetryPolicy returns None. If policy P returns Some((D, P')), then the combined RetryPolicy returns Some((D, P)), where P is a new combined RetryPolicy with the same sub-policies, with the exception of P replaced by P'.

    The ordering of policies matters: earlier policies get a chance to handle the failure before later policies; a catch-all policy, if any, should be last.

    As an example, let's say you combine two RetryPolicys, R1 and R2, where R1 handles only exception E1 with a backoff of (10.milliseconds, 20.milliseconds, 30.milliseconds), while R2 handles only exception E2 with a backoff of (15.milliseconds, 25.milliseconds).

    If a sequence of exceptions, (E2, E1, E1, E2), is fed in order to the combined retry policy, the backoffs seen will be (15.milliseconds, 10.milliseconds, 20.milliseconds, 25.milliseconds).

    The maximum number of retries the combined policy could allow under the worst case scenario of exceptions is equal to the sum of the individual maximum retries of each subpolicy. To put a cap on the combined maximum number of retries, you can call limit on the combined policy with a smaller cap.

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def named[A](name: String)(f: (A) => Option[(Duration, RetryPolicy[A])]): RetryPolicy[A]

    Lifts a function of type A => Option[(Duration, RetryPolicy[A])] in the RetryPolicy type.

    Lifts a function of type A => Option[(Duration, RetryPolicy[A])] in the RetryPolicy type.

    name

    The name to use in the .toString method which can aid in inspection.

    f

    The function used to classify values.

  20. def namedPF[A](name: String)(f: PartialFunction[A, Boolean]): PartialFunction[A, Boolean]

    Create a PartialFunction with a defined .toString method.

    Create a PartialFunction with a defined .toString method.

    name

    the value to use for toString

    f

    the PartialFunction to apply the name to.

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. val none: RetryPolicy[Any]

    A RetryPolicy that never retries.

  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. def tries(numTries: Int): RetryPolicy[Try[Nothing]]

    Try up to a specific number of times of times on failures that are com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

    Try up to a specific number of times of times on failures that are com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

    The returned policy has jittered backoffs between retries.

    numTries

    the maximum number of attempts (including retries) that can be made. A value of 1 means one attempt and no retries on failure. A value of 2 means one attempt and then a single retry if the failure meets the criteria of com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

  28. def tries[A](numTries: Int, shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    Try up to a specific number of times, based on the supplied PartialFunction[A, Boolean].

    Try up to a specific number of times, based on the supplied PartialFunction[A, Boolean]. A value of type A is considered retryable if and only if the PartialFunction is defined at and returns true for that value.

    The returned policy has jittered backoffs between retries.

    numTries

    the maximum number of attempts (including retries) that can be made. A value of 1 means one attempt and no retries on failure. A value of 2 means one attempt and then a single retry if the failure meets the criteria of shouldRetry.

    shouldRetry

    which A-typed values are considered retryable.

  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. object RetryableWriteException

    An extractor for exceptions which are known to be safe to retry.

    An extractor for exceptions which are known to be safe to retry.

    See also

    RequeueFilter.Requeueable

Deprecated Value Members

  1. def backoffJava[A](backoffs: Backoff, shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    backoffs

    can be created via Backoff.toJava.

    Deprecated

    Please use the backoff api which is already Java friendly. A version of backoff usable from Java.

Inherited from AnyRef

Inherited from Any

Ungrouped