chore: fix TUIC cwnd parsing

This commit is contained in:
Larvan2 2023-06-21 00:40:33 +08:00
parent ad7508f203
commit 1d94546902
2 changed files with 7 additions and 0 deletions

View file

@ -17,6 +17,7 @@ type TuicServer struct {
ALPN []string `yaml:"alpn" json:"alpn,omitempty"` ALPN []string `yaml:"alpn" json:"alpn,omitempty"`
MaxUdpRelayPacketSize int `yaml:"max-udp-relay-packet-size" json:"max-udp-relay-packet-size,omitempty"` MaxUdpRelayPacketSize int `yaml:"max-udp-relay-packet-size" json:"max-udp-relay-packet-size,omitempty"`
MaxDatagramFrameSize int `yaml:"max-datagram-frame-size" json:"max-datagram-frame-size,omitempty"` MaxDatagramFrameSize int `yaml:"max-datagram-frame-size" json:"max-datagram-frame-size,omitempty"`
CWND int `yaml:"cwnd" json:"cwnd,omitempty"`
} }
func (t TuicServer) String() string { func (t TuicServer) String() string {

View file

@ -66,6 +66,10 @@ func New(config LC.TuicServer, tcpIn chan<- C.ConnContext, udpIn chan<- C.Packet
packetOverHead = tuic.PacketOverHeadV5 packetOverHead = tuic.PacketOverHeadV5
} }
if config.CWND == 0 {
config.CWND = 32
}
if config.MaxUdpRelayPacketSize == 0 { if config.MaxUdpRelayPacketSize == 0 {
config.MaxUdpRelayPacketSize = 1500 config.MaxUdpRelayPacketSize = 1500
} }
@ -115,6 +119,7 @@ func New(config LC.TuicServer, tcpIn chan<- C.ConnContext, udpIn chan<- C.Packet
CongestionController: config.CongestionController, CongestionController: config.CongestionController,
AuthenticationTimeout: time.Duration(config.AuthenticationTimeout) * time.Millisecond, AuthenticationTimeout: time.Duration(config.AuthenticationTimeout) * time.Millisecond,
MaxUdpRelayPacketSize: config.MaxUdpRelayPacketSize, MaxUdpRelayPacketSize: config.MaxUdpRelayPacketSize,
CWND: config.CWND,
} }
} else { } else {
users := make(map[[16]byte]string) users := make(map[[16]byte]string)
@ -131,6 +136,7 @@ func New(config LC.TuicServer, tcpIn chan<- C.ConnContext, udpIn chan<- C.Packet
CongestionController: config.CongestionController, CongestionController: config.CongestionController,
AuthenticationTimeout: time.Duration(config.AuthenticationTimeout) * time.Millisecond, AuthenticationTimeout: time.Duration(config.AuthenticationTimeout) * time.Millisecond,
MaxUdpRelayPacketSize: config.MaxUdpRelayPacketSize, MaxUdpRelayPacketSize: config.MaxUdpRelayPacketSize,
CWND: config.CWND,
} }
} }