Packages

final case class HalfOpen(resetTimeout: FiniteDuration) extends State with Product with Serializable

State of the TaskCircuitBreaker in which the circuit breaker has already allowed a task to go through, as a reset attempt, in order to test the connection.

Contract:

  • The first task when Open has expired is allowed through without failing fast, just before the circuit breaker is evolved into the HalfOpen state
  • All tasks attempted in HalfOpen fail-fast with an exception just as in Open state
  • If that task attempt succeeds, the breaker is reset back to the Closed state, with the resetTimeout and the failures count also reset to initial values
  • If the first call fails, the breaker is tripped again into the Open state (the resetTimeout is multiplied by the exponential backoff factor)
resetTimeout

is the current resetTimeout that was applied to the previous Open state, to be multiplied by the exponential backoff factor for the next transition to Open, in case the reset attempt fails

Source
TaskCircuitBreaker.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HalfOpen
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. State
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HalfOpen(resetTimeout: FiniteDuration)

    resetTimeout

    is the current resetTimeout that was applied to the previous Open state, to be multiplied by the exponential backoff factor for the next transition to Open, in case the reset attempt fails

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  9. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  10. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. final def notify(): Unit
    Definition Classes
    AnyRef
  12. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  13. val resetTimeout: FiniteDuration
  14. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  15. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from State

Inherited from AnyRef

Inherited from Any

Ungrouped