-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathobject.go
More file actions
62 lines (56 loc) · 1.43 KB
/
object.go
File metadata and controls
62 lines (56 loc) · 1.43 KB
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
package rediscli
// create a string object
func CreateStringObject(task *RedisReaderTask, str string) {
objStr := new(RedisObject)
objStr.str_value = str
objStr.obj_type = TYPE_STRING
if task.parent != nil {
task.parent.obj.member[task.idx] = objStr
} else {
task.obj = objStr
}
}
// create an error redis object
func CreateErrorObject(task *RedisReaderTask, err string) {
objErr := new(RedisObject)
objErr.str_value = err
objErr.obj_type = TYPE_ERROR
task.obj = objErr
}
// create an error redis object
func CreateBulkObject(task *RedisReaderTask, bulk string) {
objBulk := new(RedisObject)
objBulk.str_value = bulk
objBulk.obj_type = TYPE_BULK
if task.parent != nil {
task.parent.obj.member[task.idx] = objBulk
} else {
task.obj = objBulk
}
}
// create an integer object
func CreateIntegerObject(task *RedisReaderTask, value int) {
objInt := new(RedisObject)
objInt.int_value = value
objInt.obj_type = TYPE_INTEGER
task.obj = objInt
}
// create a nil object
func CreateNilObject(task *RedisReaderTask) {
objNil := new(RedisObject)
objNil.str_value = "nil"
objNil.obj_type = TYPE_NIL
if task.parent != nil {
task.parent.obj.member[task.idx] = objNil
} else {
task.obj = objNil
}
}
// create a array object
func CreateArrayObject(task *RedisReaderTask, size int) {
objArray := new(RedisObject)
objArray.obj_type = TYPE_ARRAY
objArray.size = size
objArray.member = make([]*RedisObject, size)
task.obj = objArray
}