fix calculation of the handshake idle timeout

This commit is contained in:
Marten Seemann
2021-03-23 17:19:43 +08:00
parent 37a3938543
commit 63e810f0d8
2 changed files with 5 additions and 1 deletions

View File

@@ -740,7 +740,10 @@ func (s *session) nextKeepAliveTime() time.Time {
func (s *session) maybeResetTimer() {
var deadline time.Time
if !s.handshakeComplete {
deadline = s.sessionCreationTime.Add(utils.MinDuration(s.config.handshakeTimeout(), s.config.HandshakeIdleTimeout))
deadline = utils.MinTime(
s.sessionCreationTime.Add(s.config.handshakeTimeout()),
s.idleTimeoutStartTime().Add(s.config.HandshakeIdleTimeout),
)
} else {
if keepAliveTime := s.nextKeepAliveTime(); !keepAliveTime.IsZero() {
deadline = keepAliveTime