24 lines
620 B
Go
24 lines
620 B
Go
package net
|
|
|
|
//import (
|
|
// "io"
|
|
// "net"
|
|
// "time"
|
|
//)
|
|
//
|
|
//// Relay copies between left and right bidirectionally.
|
|
//func Relay(leftConn, rightConn net.Conn) {
|
|
// ch := make(chan error)
|
|
//
|
|
// go func() {
|
|
// // Wrapping to avoid using *net.TCPConn.(ReadFrom)
|
|
// // See also https://github.com/metacubex/mihomo/pull/1209
|
|
// _, err := io.Copy(WriteOnlyWriter{Writer: leftConn}, ReadOnlyReader{Reader: rightConn})
|
|
// leftConn.SetReadDeadline(time.Now())
|
|
// ch <- err
|
|
// }()
|
|
//
|
|
// _, _ = io.Copy(WriteOnlyWriter{Writer: rightConn}, ReadOnlyReader{Reader: leftConn})
|
|
// rightConn.SetReadDeadline(time.Now())
|
|
// <-ch
|
|
//}
|