Ai
1 Star 6 Fork 4

夏季的风/TCP-UDP网络组件

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ReplyTask.go 1.29 KB
一键复制 编辑 原始数据 按行查看 历史
lingbinbin 提交于 2022-10-18 16:41 +08:00 . *调整UDP和TCP处理逻辑
package netService
import (
"gitee.com/ling-bin/network/netInterface"
"sync"
)
//replyTaskPool 回发处理对象池
var replyTaskPool = sync.Pool{
New: func() interface{} { return new(replyTask) },
}
// replyTask 发送数据TCP
type replyTask struct {
ConnId uint64 //连接id
Data []byte //发送数据
Param interface{} //参数
CmdCode string //业务指定指令码
CallFunc func(netInterface.IConnection, []byte, bool, string, interface{}, error) //回调方法
RunReplyTask func(replyTask *replyTask) //下发完成回调方法
}
//newReplyTask 创建接收对象
func newReplyTask() *replyTask {
return replyTaskPool.Get().(*replyTask)
}
// free 回收释放
func (r *replyTask) free() {
r.Data = nil
r.ConnId = 0
r.Param = nil
r.RunReplyTask = nil
r.CallFunc = nil
replyTaskPool.Put(r)
}
// GetTaskId 获取任务ID
func (r *replyTask) GetTaskId() uint64 {
return r.ConnId
}
// RunTask 运行
func (r *replyTask) RunTask() {
r.RunReplyTask(r)
r.free()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ling-bin/network.git
git@gitee.com:ling-bin/network.git
ling-bin
network
TCP-UDP网络组件
v1.8.30

搜索帮助