自动更新管控端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
1.6 KiB

package model
import "sync"
var mqRespondPool = sync.Pool{
New: func() interface{} {
return new(MQRespond)
},
}
var esRespondPool = sync.Pool{
New: func() interface{} {
return new(ESRespond)
},
}
var mongoRespondPool = sync.Pool{
New: func() interface{} {
return new(MongoRespond)
},
}
var redisRespondPool = sync.Pool{
New: func() interface{} {
return new(RedisRespond)
},
}
type MQRespond struct {
Topic string `json:"-"`
Action string `json:"action"`
Timestamp uint32 `json:"timestamp"`
Raw interface{} `json:"raw,omitempty"`
Date interface{} `json:"date"`
ByteArray []byte `json:"-"`
}
type ESRespond struct {
Index string
Id string
Action string
Date string
}
type MongoRespond struct {
RuleKey string
Collection string
Action string
Id interface{}
Table map[string]interface{}
}
type RedisRespond struct {
Action string
Structure string
Key string
Field string
Score float64
OldVal interface{}
Val interface{}
}
func BuildMQRespond() *MQRespond {
return mqRespondPool.Get().(*MQRespond)
}
func ReleaseMQRespond(t *MQRespond) {
mqRespondPool.Put(t)
}
func BuildESRespond() *ESRespond {
return esRespondPool.Get().(*ESRespond)
}
func ReleaseESRespond(t *ESRespond) {
esRespondPool.Put(t)
}
func BuildMongoRespond() *MongoRespond {
return mongoRespondPool.Get().(*MongoRespond)
}
func ReleaseMongoRespond(t *MongoRespond) {
mongoRespondPool.Put(t)
}
func BuildRedisRespond() *RedisRespond {
return redisRespondPool.Get().(*RedisRespond)
}
func ReleaseRedisRespond(t *RedisRespond) {
redisRespondPool.Put(t)
}