Files
kubevpn/pkg/localproxy/relay.go
T
2026-04-11 17:17:34 +08:00

24 lines
349 B
Go

package localproxy
import (
"io"
"net"
"sync"
)
func relayConns(left, right net.Conn) {
var wg sync.WaitGroup
copyHalf := func(dst, src net.Conn) {
defer wg.Done()
_, _ = io.Copy(dst, src)
if tcp, ok := dst.(*net.TCPConn); ok {
_ = tcp.CloseWrite()
}
}
wg.Add(2)
go copyHalf(left, right)
go copyHalf(right, left)
wg.Wait()
}