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 }