1
0
mirror of https://github.com/fumiama/WireGold.git synced 2026-06-23 03:50:32 +08:00

optimize(all): drop lstnq & impl. orbyte

This commit is contained in:
源文雨
2025-02-25 19:38:16 +09:00
parent 4b60801a0f
commit 9f36504635
22 changed files with 501 additions and 573 deletions

View File

@@ -1,31 +1,37 @@
package head
import (
"sync"
"github.com/fumiama/WireGold/helper"
"github.com/fumiama/orbyte"
"github.com/fumiama/orbyte/pbuf"
)
var packetPool = sync.Pool{
New: func() interface{} {
return new(Packet)
},
type packetPooler struct {
orbyte.Pooler[Packet]
}
// SelectPacket 从池中取出一个 Packet
func SelectPacket() *Packet {
return packetPool.Get().(*Packet)
func (packetPooler) New(_ any, pooled Packet) Packet {
return pooled
}
// PutPacket 将 Packet 放回池中
func PutPacket(p *Packet) {
func (packetPooler) Parse(obj any, _ Packet) Packet {
return obj.(Packet)
}
func (packetPooler) Reset(p *Packet) {
p.idxdatsz = 0
if p.buffered {
helper.PutBytes(p.data)
p.buffered = false
}
p.data = pbuf.Bytes{}
p.a, p.b = 0, 0
p.data = nil
p.rembytes = 0
packetPool.Put(p)
}
func (packetPooler) Copy(dst, src *Packet) {
*dst = *src
dst.data = src.data.Copy()
}
var packetPool = orbyte.NewPool[Packet](packetPooler{})
// selectPacket 从池中取出一个 Packet
func selectPacket() *orbyte.Item[Packet] {
return packetPool.New(nil)
}