-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstate.go
39 lines (31 loc) · 780 Bytes
/
state.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package circuitbreaker
// State is circuit state.
type State int64
const (
// StateClose mean circuit is close and can accept request.
StateClose State = iota
// StateOpen mean circuit is open and can not accept request.
StateOpen
// StateHalfOpen mean circuit is half open and can accept request.
StateHalfOpen
// StateUnknown mean we can not calculate the state.
StateUnknown
)
const (
stateCloseText = "Close"
stateOpenText = "Open"
stateHalfOpenText = "HalfOpen"
stateNotValidText = "NotValid"
)
// GetStateText of circuit breaker.
func GetStateText(state State) string {
switch state {
case StateClose:
return stateCloseText
case StateOpen:
return stateOpenText
case StateHalfOpen:
return stateHalfOpenText
}
return stateNotValidText
}