Packages

object RetryPolicy

Source
Retry.scala
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. All

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 RetriableStatuses: Set[Status]

    Statuses that are retriable, per HTTP spec

  5. def apply[F[_]](backoff: (Int) ⇒ Option[FiniteDuration], retriable: (Request[F], Either[Throwable, Response[F]]) ⇒ Boolean = defaultRetriable[F]): RetryPolicy[F]

    Decomposes a retry policy into components that are typically configured individually.

    Decomposes a retry policy into components that are typically configured individually.

    backoff

    a function of attempts to an optional FiniteDuration. Return None to stop retrying, or some duration after which the request will be retried. See exponentialBackoff for a useful implementation.

    retriable

    determines whether the request is retriable from the request and either the throwable or response that was returned. Defaults to defaultRetriable.

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def defaultRetriable[F[_]](req: Request[F], result: Either[Throwable, Response[F]]): Boolean

    Default logic for whether a request is retriable.

    Default logic for whether a request is retriable. Returns true if the request method does not permit a body and the result is either a throwable or has one of the RetriableStatuses.

    Caution: more restrictive than 0.16. That would inspect the body for effects, and resumbmit only if the body was pure (i.e., only emits and halts). The fs2 algebra does not let us inspect the stream for effects, so we can't safely resubmit. For the old behavior, use unsafeRetriable. To ignore the response codes, see recklesslyRetriable.

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def exponentialBackoff(maxWait: Duration, maxRetry: Int): (Int) ⇒ Option[FiniteDuration]
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. def recklesslyRetriable[F[_]](result: Either[Throwable, Response[F]]): Boolean

    Like unsafeRetriable, but returns true even if the request method is not idempotent.

    Like unsafeRetriable, but returns true even if the request method is not idempotent. This is useful if failed requests are assumed to have not reached their destination, which is a dangerous assumption. Use at your own risk.

    Caution: if the request body is effectful, the effects will be run twice. The most common symptom of this will be resubmitting an empty request body.

  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. def unsafeRetriable[F[_]](req: Request[F], result: Either[Throwable, Response[F]]): Boolean

    Returns true if the request method is idempotent and the result is either a throwable or has one of the RetriableStatuses.

    Returns true if the request method is idempotent and the result is either a throwable or has one of the RetriableStatuses. This is the defaultRetriable behavior from 0.16.

    Caution: if the request body is effectful, the effects will be run twice. The most common symptom of this will be resubmitting an empty request body.

  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped