forked from quic-go/quic-go
use a separate function to restore transport parameters for 0-RTT
This commit is contained in:
17
session.go
17
session.go
@@ -503,7 +503,7 @@ func (s *session) run() error {
|
||||
case zeroRTTParams := <-s.clientHelloWritten:
|
||||
s.scheduleSending()
|
||||
if zeroRTTParams != nil {
|
||||
s.processTransportParameters(zeroRTTParams)
|
||||
s.restoreTransportParameters(zeroRTTParams)
|
||||
close(s.earlySessionReadyChan)
|
||||
}
|
||||
case closeErr := <-s.closeChan:
|
||||
@@ -1266,6 +1266,21 @@ func (s *session) dropEncryptionLevel(encLevel protocol.EncryptionLevel) {
|
||||
}
|
||||
}
|
||||
|
||||
// is called for the client, when restoring transport parameters saved for 0-RTT
|
||||
func (s *session) restoreTransportParameters(params *wire.TransportParameters) {
|
||||
if s.logger.Debug() {
|
||||
s.logger.Debugf("Restoring Transport Parameters: %s", params)
|
||||
}
|
||||
|
||||
s.peerParams = params
|
||||
s.connIDGenerator.SetMaxActiveConnIDs(params.ActiveConnectionIDLimit)
|
||||
s.connFlowController.UpdateSendWindow(params.InitialMaxData)
|
||||
if err := s.streamsMap.UpdateLimits(params); err != nil {
|
||||
s.closeLocal(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func (s *session) processTransportParameters(params *wire.TransportParameters) {
|
||||
if s.logger.Debug() {
|
||||
s.logger.Debugf("Processed Transport Parameters: %s", params)
|
||||
|
||||
Reference in New Issue
Block a user