@@ -78,6 +78,7 @@ func (this *UDPHub) start() {
buffer := alloc.NewBuffer()
nBytes, noob, _, addr, err := this.conn.ReadMsgUDP(buffer.Value, oobBytes)
if err != nil {
+ log.Info("UDP|Hub: Failed to read UDP msg: ", err)
buffer.Release()
continue
}
@@ -3,6 +3,7 @@
package udp
import (
+ "net"
"syscall"
v2net "github.com/v2ray/v2ray-core/common/net"
@@ -32,3 +33,7 @@ func RetrieveOriginalDest(oob []byte) v2net.Destination {
return nil
+
+func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int, int, *net.UDPAddr, error) {
+ return conn.ReadMsgUDP(payload, oob)
+}
@@ -3,6 +3,8 @@
)
@@ -13,3 +15,8 @@ func SetOriginalDestOptions(fd int) error {
func RetrieveOriginalDest(oob []byte) v2net.Destination {
+ nBytes, addr, err := conn.ReadFromUDP(payload)
+ return nBytes, 0, 0, addr, err