1 Star 0 Fork 0

李文建/protoactor-go

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
pid.rpc.go 855 Bytes
一键复制 编辑 原始数据 按行查看 历史
李文建 提交于 2020-10-25 10:03 +08:00 . 从gitee.com/nggs/protoactor-go同步
package actor
import "sync"
const PH = 1
func (m *PID) ResetEx() {
if m == nil {
return
}
m.Address = ""
m.Id = ""
m.p = nil
}
func (m *PID) Clone() *PID {
if m == nil {
return nil
}
return &PID{
Address: m.Address,
Id: m.Id,
p: m.p,
}
}
func Clone_PID_Slice(dst []*PID, src []*PID) []*PID {
if len(src) > 0 {
dst = make([]*PID, len(src))
for i, e := range src {
if e != nil {
dst[i] = e.Clone()
}
}
} else {
//dst = []*PID{}
dst = nil
}
return dst
}
func New_PID() *PID {
m := &PID{}
return m
}
var g_PID_Pool = sync.Pool{}
func Get_PID() *PID {
m, ok := g_PID_Pool.Get().(*PID)
if !ok {
m = New_PID()
} else {
if m == nil {
m = New_PID()
} else {
m.ResetEx()
}
}
return m
}
func Put_PID(i interface{}) {
if m, ok := i.(*PID); ok && m != nil {
g_PID_Pool.Put(i)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/lwj8507/protoactor-go.git
git@gitee.com:lwj8507/protoactor-go.git
lwj8507
protoactor-go
protoactor-go
v0.0.1

搜索帮助