anchor.diff:  
   In Hystrix, executable logic needs to be wrapped inside a HystrixCommand. This library provides higher-order functions to decorate any function, lambda expression or method reference with a http://martinfowler.com/bliki/CircuitBreaker.html[Circuit Breaker]. The library also provides a custom RxJava operator to decorate any `Observable` or `Flowable`.
   In the following I call the higher-order functions decorators. The decorators return an enhanced version of your function. Furthermore, the library provides a decorator to retry failed functions. You can stack more than one decorator on any given function. That means, you can combine a Retry decorator with a CircuitBreaker decorator. Any decorated function can be invoked synchronously or asynchronously.
  +
  +== Examples
   
   The following example shows how to decorate a method call with a CircuitBreaker and automatically retry the call when an exception occurs.
   
  
positive.code: Observable.fromCallable(helloWorldService::sayHelloWorld)
      .lift(CircuitBreakerOperator.of(circuitBreaker))
  ----
  
  The CircuitBreaker is implemented via a finite state machine with three states: `CLOSED`, `OPEN` and `HALF_OPEN`.
  
  
negative.code: After the time duration has elapsed, the CircuitBreaker state changes from `OPEN` to `HALF_OPEN` and allows calls to see if the backend is still unavailable or has become available again. The CircuitBreaker uses another (configurable) Ring Bit Buffer to evaluate the failure rate in the `HALF_OPEN` state. If the failure rate is above the configured threshold, the state changes back to `OPEN`. If the failure rate is below or equal to the threshold, the state changes back to `CLOSED`.
  `CircuitBreaker::recordFailure(exception)` checks if the exception should be recorded as a failure or should be ignored. You can configure a custom `Predicate` which decides whether an exception should be recorded as a failure. The default Predicate records all exceptions as a failure.
  
  == Companies who use javaslang-circuitbreaker
  
  * Deutsche Telekom
  