github.com/database64128/shadowsocks-go@v1.7.0/conn/conn_mmsg.go (about) 1 //go:build linux || netbsd 2 3 package conn 4 5 import ( 6 "context" 7 "net" 8 9 "github.com/database64128/tfo-go/v2" 10 ) 11 12 // ListenUDPRawConn is like [ListenUDP] but wraps the [*net.UDPConn] in a [rawUDPConn] for batch I/O. 13 func ListenUDPRawConn(listenConfig tfo.ListenConfig, network, address string) (rawUDPConn, error) { 14 packetConn, err := listenConfig.ListenPacket(context.Background(), network, address) 15 if err != nil { 16 return rawUDPConn{}, err 17 } 18 return NewRawUDPConn(packetConn.(*net.UDPConn)) 19 }