go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/breaker/state.go (about)

     1  package breaker
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  // These constants are states of breaker.Breaker.
     8  const (
     9  	StateClosed State = iota
    10  	StateHalfOpen
    11  	StateOpen
    12  )
    13  
    14  // State is a type that represents a state of breaker.Breaker.
    15  type State int
    16  
    17  // String implements stringer interface.
    18  func (s State) String() string {
    19  	switch s {
    20  	case StateClosed:
    21  		return "closed"
    22  	case StateHalfOpen:
    23  		return "half-open"
    24  	case StateOpen:
    25  		return "open"
    26  	default:
    27  		return fmt.Sprintf("unknown state: %d", s)
    28  	}
    29  }