# Constants
StateClosed when circuit breaker closed, request allowed, the breaker calc the succeed ratio, if request num greater request setting and ratio lower than the setting ratio, then reset state to open.
StateHalfopen when circuit breaker open, after slepp some duration, allow one request, but not state closed.
StateOpen when circuit breaker open, request not allowed, after sleep some duration, allow one single request for testing the health, if ok then state reset to closed, if not continue the step.
# Interfaces
Breaker is a CircuitBreaker pattern.
# Type aliases
Acceptable is the func to check if the error can be accepted.
fallback.