64 lines
1.2 KiB
Go
64 lines
1.2 KiB
Go
package comm
|
|
|
|
import (
|
|
"go_dreamfactory/pb"
|
|
"sync"
|
|
)
|
|
|
|
var taskParamPool = &sync.Pool{
|
|
New: func() interface{} {
|
|
return &TaskParam{}
|
|
},
|
|
}
|
|
|
|
//GetBuriedParam
|
|
func GetTaskParam(t TaskType, p ...int32) *TaskParam {
|
|
task := taskParamPool.Get().(*TaskParam)
|
|
task.TT = t
|
|
task.Params = append(task.Params, p...)
|
|
return task
|
|
}
|
|
|
|
func PuttaskParam(r *TaskParam) {
|
|
r.Params = r.Params[:0]
|
|
taskParamPool.Put(r)
|
|
}
|
|
|
|
var buriedParamPool = &sync.Pool{
|
|
New: func() interface{} {
|
|
return &pb.BuriedParam{
|
|
Value: 0,
|
|
Filter: make([]int32, 0),
|
|
}
|
|
},
|
|
}
|
|
|
|
//普通任务
|
|
func GetBuriedParam(t TaskType, vaule int32, p ...int32) *pb.BuriedParam {
|
|
task := buriedParamPool.Get().(*pb.BuriedParam)
|
|
task.TaskType = int32(t)
|
|
task.Value = vaule
|
|
if len(p) > 0 {
|
|
task.Filter = append(task.Filter, p...)
|
|
}
|
|
return task
|
|
}
|
|
|
|
//统计型任务
|
|
func GetBuriedParam2(t TaskType, statistics string, p ...int32) *pb.BuriedParam {
|
|
task := buriedParamPool.Get().(*pb.BuriedParam)
|
|
task.TaskType = int32(t)
|
|
task.Statistics = statistics
|
|
if len(p) > 0 {
|
|
task.Filter = append(task.Filter, p...)
|
|
}
|
|
return task
|
|
}
|
|
|
|
func PutburiedParam(r *pb.BuriedParam) {
|
|
r.Filter = r.Filter[:0]
|
|
r.Value = 0
|
|
r.Statistics = ""
|
|
buriedParamPool.Put(r)
|
|
}
|