/
op.go
140 lines (116 loc) · 2.23 KB
/
op.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package pb
import sync "sync"
type Op struct {
*Operation
}
var opPool = sync.Pool{
New: func() any {
return &Op{
Operation: &Operation{},
}
},
}
func NewOp(typ OpType, key string) *Op {
op := opPool.Get().(*Op)
op.Type = typ
op.Key = key
return op
}
func (o *Op) Value(v []byte) *Op {
o.Operation.Value = v
return o
}
// Values set the values
func (o *Op) Values(v [][]byte) *Op {
o.Operation.Values = v
return o
}
// Score set the score
func (o *Op) Score(score float64) *Op {
o.Operation.Score = score
return o
}
// Member set the member
func (o *Op) Member(member string) *Op {
o.Operation.Member = member
return o
}
// Expiration set the expiration
func (o *Op) Expiration(seconds int64) *Op {
o.Operation.Expiration = seconds
return o
}
// DstKey set the destination key
func (o *Op) DstKey(key string) *Op {
o.Operation.DstKey = key
return o
}
// Pivot set the pivot
func (o *Op) Pivot(pivot []byte) *Op {
o.Operation.Pivot = pivot
return o
}
// Count set the count
func (o *Op) Count(count int64) *Op {
o.Operation.Count = count
return o
}
// Index set the index
func (o *Op) Index(index int64) *Op {
o.Operation.Index = index
return o
}
// Members set the members
func (o *Op) Members(members []string) *Op {
o.Operation.Members = members
return o
}
// Start set the start
func (o *Op) Start(start int64) *Op {
o.Operation.Start = start
return o
}
// Stop set the stop
func (o *Op) Stop(stop int64) *Op {
o.Operation.Stop = stop
return o
}
// Min set the min
func (o *Op) Min(min float64) *Op {
o.Operation.Min = min
return o
}
// Max set the max
func (o *Op) Max(max float64) *Op {
o.Operation.Max = max
return o
}
// Field set the field
func (o *Op) Field(field string) *Op {
o.Operation.Field = field
return o
}
// Fields set the field
func (o *Op) Fields(fields ...string) *Op {
o.Operation.Fields = fields
return o
}
// IncrFloat set the increment
func (o *Op) IncrFloat(i float64) *Op {
o.Operation.IncrFloat = i
return o
}
// IncrInt set the increment
func (o *Op) IncrInt(i int64) *Op {
o.Operation.IncrInt = i
return o
}
// Before set the before
func (o *Op) Before(before bool) *Op {
o.Operation.Before = before
return o
}
func (o *Op) Reset() {
o.Operation.Reset()
opPool.Put(o)
}