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
Openhas expired is allowed through without failing fast, just before the circuit breaker is evolved into theHalfOpenstate - All tasks attempted in
HalfOpenfail-fast with an exception just as in Open state - If that task attempt succeeds, the breaker is reset back to
the
Closedstate, with theresetTimeoutand thefailurescount also reset to initial values - If the first call fails, the breaker is tripped again into
the
Openstate (theresetTimeoutis multiplied by the exponential backoff factor)
- resetTimeout
is the current
resetTimeoutthat was applied to the previousOpenstate, to be multiplied by the exponential backoff factor for the next transition toOpen, in case the reset attempt fails
- Source
- TaskCircuitBreaker.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- HalfOpen
- Serializable
- Serializable
- Product
- Equals
- State
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
-
new
HalfOpen(resetTimeout: FiniteDuration)
- resetTimeout
is the current
resetTimeoutthat was applied to the previousOpenstate, to be multiplied by the exponential backoff factor for the next transition toOpen, in case the reset attempt fails
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- val resetTimeout: FiniteDuration
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )

This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomictypes, as alternative tojava.util.concurrent.atomicmonix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observablepattern:Observableimplementationsmonix.types implements type-class shims, to be translated to type-classes provided by libraries such as Cats or Scalaz.
monix.cats is the optional integration with the Cats library, providing translations for the types described in
monix.types.monix.scalaz is the optional integration with the Scalaz library, providing translations for the types described in
monix.types.