/
reconclile_operation.go
87 lines (76 loc) · 1.69 KB
/
reconclile_operation.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package util
import "time"
type OperationResult struct {
RequeueDelay time.Duration
RequeueRequest bool
CancelRequest bool
}
func (r OperationResult) RequeueOrCancel() bool {
return r.RequeueRequest || r.CancelRequest
}
func ContinueOperationResult() OperationResult {
return OperationResult{
RequeueDelay: 0,
RequeueRequest: false,
CancelRequest: false,
}
}
func StopOperationResult() OperationResult {
return OperationResult{
RequeueDelay: 0,
RequeueRequest: false,
CancelRequest: true,
}
}
func StopProcessing() (result OperationResult, err error) {
result = StopOperationResult()
return
}
func Requeue() (result OperationResult, err error) {
result = OperationResult{
RequeueDelay: 0,
RequeueRequest: true,
CancelRequest: false,
}
return
}
func RequeueWithError(errIn error) (result OperationResult, err error) {
result = OperationResult{
RequeueDelay: 0,
RequeueRequest: true,
CancelRequest: false,
}
err = errIn
return
}
func RequeueOnErrorOrStop(errIn error) (result OperationResult, err error) {
result = OperationResult{
RequeueDelay: 0,
RequeueRequest: false,
CancelRequest: true,
}
err = errIn
return
}
func RequeueOnErrorOrContinue(errIn error) (result OperationResult, err error) {
result = OperationResult{
RequeueDelay: 0,
RequeueRequest: false,
CancelRequest: false,
}
err = errIn
return
}
func RequeueAfter(delay time.Duration, errIn error) (result OperationResult, err error) {
result = OperationResult{
RequeueDelay: delay,
RequeueRequest: true,
CancelRequest: false,
}
err = errIn
return
}
func ContinueProcessing() (result OperationResult, err error) {
result = ContinueOperationResult()
return
}