mirror of
https://github.com/SagerNet/sing-tun.git
synced 2026-04-23 00:17:19 +08:00
27 lines
522 B
Go
27 lines
522 B
Go
//go:build !windows
|
|
|
|
package tun
|
|
|
|
import (
|
|
"net"
|
|
|
|
"github.com/sagernet/sing/common/control"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
func acceptConn(conn net.Conn) error {
|
|
return control.Conn(conn.(*net.TCPConn), func(fd uintptr) error {
|
|
const bufferSize = 1024 * 1024
|
|
oErr := unix.SetsockoptInt(int(fd), unix.SOL_SOCKET, unix.SO_RCVBUF, bufferSize)
|
|
if oErr != nil {
|
|
return oErr
|
|
}
|
|
oErr = unix.SetsockoptInt(int(fd), unix.SOL_SOCKET, unix.SO_SNDBUF, bufferSize)
|
|
if oErr != nil {
|
|
return oErr
|
|
}
|
|
return nil
|
|
})
|
|
}
|