@@ -20,6 +20,7 @@ import (
2020 "runtime"
2121
2222 errorx "github.com/panjf2000/gnet/v2/pkg/errors"
23+ "github.com/panjf2000/gnet/v2/pkg/pool/goroutine"
2324)
2425
2526func (eng * engine ) listenStream (ln net.Listener ) (err error ) {
@@ -43,9 +44,9 @@ func (eng *engine) listenStream(ln net.Listener) (err error) {
4344 return
4445 }
4546 el := eng .eventLoops .next (tc .RemoteAddr ())
46- c := newTCPConn (tc , el )
47+ c := newTCPConn (el , tc , nil )
4748 el .ch <- & openConn {c : c }
48- go func (c * conn , tc net. Conn , el * eventloop ) {
49+ goroutine . DefaultWorkerPool . Submit ( func () {
4950 var buffer [0x10000 ]byte
5051 for {
5152 n , err := tc .Read (buffer [:])
@@ -55,7 +56,7 @@ func (eng *engine) listenStream(ln net.Listener) (err error) {
5556 }
5657 el .ch <- packTCPConn (c , buffer [:n ])
5758 }
58- }( c , tc , el )
59+ })
5960 }
6061}
6162
@@ -81,7 +82,7 @@ func (eng *engine) ListenUDP(pc net.PacketConn) (err error) {
8182 return
8283 }
8384 el := eng .eventLoops .next (addr )
84- c := newUDPConn (el , pc , pc .LocalAddr (), addr )
85+ c := newUDPConn (el , pc , nil , pc .LocalAddr (), addr , nil )
8586 el .ch <- packUDPConn (c , buffer [:n ])
8687 }
8788}
0 commit comments