fix: transport.UDPConn 新增了 WithUDPLinuxTimestamping(false) 开关
This commit is contained in:
@@ -28,23 +28,32 @@ func WithUDPTXTimestampDebugLogger(logger transport.TXTimestampDebugLogger) UDPO
|
||||
}
|
||||
}
|
||||
|
||||
// WithUDPLinuxTimestamping controls whether the UDP hub enables Linux timestamping.
|
||||
func WithUDPLinuxTimestamping(enabled bool) UDPOption {
|
||||
return func(hub *UDPHub) {
|
||||
hub.linuxTimestampingEnabled = enabled
|
||||
}
|
||||
}
|
||||
|
||||
// UDPHub 管理通过 UDP 注册的 peer,并负责在它们之间转发消息。
|
||||
type UDPHub struct {
|
||||
mu sync.RWMutex
|
||||
peers map[string]*net.UDPAddr
|
||||
addrs map[string]string
|
||||
|
||||
conn *transport.UDPConn
|
||||
logger latencylog.Logger
|
||||
txTimestampDebugLogger transport.TXTimestampDebugLogger
|
||||
conn *transport.UDPConn
|
||||
logger latencylog.Logger
|
||||
txTimestampDebugLogger transport.TXTimestampDebugLogger
|
||||
linuxTimestampingEnabled bool
|
||||
}
|
||||
|
||||
// NewUDPHub 创建一个新的 UDP 连接中心。
|
||||
func NewUDPHub(conn *net.UDPConn, opts ...UDPOption) (*UDPHub, error) {
|
||||
hub := &UDPHub{
|
||||
peers: make(map[string]*net.UDPAddr),
|
||||
addrs: make(map[string]string),
|
||||
logger: latencylog.NoopLogger{},
|
||||
peers: make(map[string]*net.UDPAddr),
|
||||
addrs: make(map[string]string),
|
||||
logger: latencylog.NoopLogger{},
|
||||
linuxTimestampingEnabled: true,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
@@ -59,6 +68,7 @@ func NewUDPHub(conn *net.UDPConn, opts ...UDPOption) (*UDPHub, error) {
|
||||
conn,
|
||||
nil,
|
||||
transport.WithUDPLogger(hub.logger, latencylog.NodeRoleServer, "hub"),
|
||||
transport.WithUDPLinuxTimestamping(hub.linuxTimestampingEnabled),
|
||||
transport.WithUDPTXTimestampDebugLogger(hub.txTimestampDebugLogger),
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user