mirror of https://github.com/v2ray/v2ray-core
release buffer
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…
Reference in New Issue