mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-02-20 23:47:21 -05:00
release buffer
This commit is contained in:
parent
b4f3106ad6
commit
cb378a9dbf
@ -95,7 +95,7 @@ func (h *Hub) start() {
|
||||
buffer := buf.New()
|
||||
var noob int
|
||||
var addr *net.UDPAddr
|
||||
err := buffer.AppendSupplier(func(b []byte) (int, error) {
|
||||
err := buffer.Reset(func(b []byte) (int, error) {
|
||||
n, nb, _, a, e := ReadUDPMsg(h.conn, b, oobBytes)
|
||||
noob = nb
|
||||
addr = a
|
||||
@ -108,6 +108,11 @@ func (h *Hub) start() {
|
||||
break
|
||||
}
|
||||
|
||||
if buffer.IsEmpty() {
|
||||
buffer.Release()
|
||||
continue
|
||||
}
|
||||
|
||||
payload := &Payload{
|
||||
Content: buffer,
|
||||
Source: net.UDPDestination(net.IPAddress(addr.IP), net.Port(addr.Port)),
|
||||
@ -124,6 +129,8 @@ func (h *Hub) start() {
|
||||
select {
|
||||
case c <- payload:
|
||||
default:
|
||||
buffer.Release()
|
||||
payload.Content = nil
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user