forked from quic-go/quic-go
Merge pull request #3276 from lucas-clemente/windows-disable-pmtud
disable Path MTU Discovery on Windows
This commit is contained in:
10
session.go
10
session.go
@@ -130,6 +130,10 @@ func (e *errCloseForRecreating) Error() string {
|
||||
var sessionTracingID uint64 // to be accessed atomically
|
||||
func nextSessionTracingID() uint64 { return atomic.AddUint64(&sessionTracingID, 1) }
|
||||
|
||||
func pathMTUDiscoveryEnabled(config *Config) bool {
|
||||
return !disablePathMTUDiscovery && !config.DisablePathMTUDiscovery
|
||||
}
|
||||
|
||||
// A Session is a QUIC session
|
||||
type session struct {
|
||||
// Destination connection ID used during the handshake.
|
||||
@@ -745,7 +749,7 @@ func (s *session) maybeResetTimer() {
|
||||
deadline = s.idleTimeoutStartTime().Add(s.idleTimeout)
|
||||
}
|
||||
}
|
||||
if s.handshakeConfirmed && !s.config.DisablePathMTUDiscovery {
|
||||
if s.handshakeConfirmed && pathMTUDiscoveryEnabled(s.config) {
|
||||
if probeTime := s.mtuDiscoverer.NextProbeTime(); !probeTime.IsZero() {
|
||||
deadline = utils.MinTime(deadline, probeTime)
|
||||
}
|
||||
@@ -809,7 +813,7 @@ func (s *session) handleHandshakeConfirmed() {
|
||||
s.sentPacketHandler.SetHandshakeConfirmed()
|
||||
s.cryptoStreamHandler.SetHandshakeConfirmed()
|
||||
|
||||
if !s.config.DisablePathMTUDiscovery {
|
||||
if pathMTUDiscoveryEnabled(s.config) {
|
||||
maxPacketSize := s.peerParams.MaxUDPPayloadSize
|
||||
if maxPacketSize == 0 {
|
||||
maxPacketSize = protocol.MaxByteCount
|
||||
@@ -1770,7 +1774,7 @@ func (s *session) sendPacket() (bool, error) {
|
||||
s.sendQueue.Send(packet.buffer)
|
||||
return true, nil
|
||||
}
|
||||
if !s.config.DisablePathMTUDiscovery && s.mtuDiscoverer.ShouldSendProbe(now) {
|
||||
if pathMTUDiscoveryEnabled(s.config) && s.mtuDiscoverer.ShouldSendProbe(now) {
|
||||
packet, err := s.packer.PackMTUProbePacket(s.mtuDiscoverer.GetPing())
|
||||
if err != nil {
|
||||
return false, err
|
||||
|
||||
Reference in New Issue
Block a user