Migrate udp_timeout from seconds to duration format

This commit is contained in:
世界
2023-12-20 19:55:14 +08:00
parent 6fe582fcd7
commit c0483a2b37
12 changed files with 83 additions and 57 deletions

View File

@@ -5,6 +5,7 @@ import (
"net"
"strconv"
"strings"
"time"
"github.com/sagernet/sing-box/adapter"
"github.com/sagernet/sing-box/common/taskmonitor"
@@ -43,11 +44,11 @@ func NewTun(ctx context.Context, router adapter.Router, logger log.ContextLogger
if tunMTU == 0 {
tunMTU = 9000
}
var udpTimeout int64
var udpTimeout time.Duration
if options.UDPTimeout != 0 {
udpTimeout = options.UDPTimeout
udpTimeout = time.Duration(options.UDPTimeout)
} else {
udpTimeout = int64(C.UDPTimeout.Seconds())
udpTimeout = C.UDPTimeout
}
includeUID := uidToRange(options.IncludeUID)
if len(options.IncludeUIDRange) > 0 {
@@ -94,7 +95,7 @@ func NewTun(ctx context.Context, router adapter.Router, logger log.ContextLogger
TableIndex: 2022,
},
endpointIndependentNat: options.EndpointIndependentNat,
udpTimeout: udpTimeout,
udpTimeout: int64(udpTimeout.Seconds()),
stack: options.Stack,
platformInterface: platformInterface,
platformOptions: common.PtrValueOrDefault(options.Platform),