chore: decrease direct using *net.TCPConn

This commit is contained in:
wwqgtxx 2025-04-11 00:33:07 +08:00
parent dbb5b7db1c
commit 8085c68b6d
3 changed files with 19 additions and 4 deletions

View file

@ -59,7 +59,7 @@ func SetNetListenConfig(lc *net.ListenConfig) {
}
func TCPKeepAlive(c net.Conn) {
if tcp, ok := c.(*net.TCPConn); ok && tcp != nil {
if tcp, ok := c.(TCPConn); ok && tcp != nil {
tcpKeepAlive(tcp)
}
}

View file

@ -2,9 +2,18 @@
package keepalive
import "net"
import (
"net"
"time"
)
func tcpKeepAlive(tcp *net.TCPConn) {
type TCPConn interface {
net.Conn
SetKeepAlive(keepalive bool) error
SetKeepAlivePeriod(d time.Duration) error
}
func tcpKeepAlive(tcp TCPConn) {
if DisableKeepAlive() {
_ = tcp.SetKeepAlive(false)
} else {

View file

@ -4,6 +4,12 @@ package keepalive
import "net"
type TCPConn interface {
net.Conn
SetKeepAlive(keepalive bool) error
SetKeepAliveConfig(config net.KeepAliveConfig) error
}
func keepAliveConfig() net.KeepAliveConfig {
config := net.KeepAliveConfig{
Enable: true,
@ -18,7 +24,7 @@ func keepAliveConfig() net.KeepAliveConfig {
return config
}
func tcpKeepAlive(tcp *net.TCPConn) {
func tcpKeepAlive(tcp TCPConn) {
if DisableKeepAlive() {
_ = tcp.SetKeepAlive(false)
} else {