@@ -1384,8 +1384,7 @@ export class Server {
1384
1384
1385
1385
let connectionAgeTimer : NodeJS . Timeout | null = null ;
1386
1386
let connectionAgeGraceTimer : NodeJS . Timeout | null = null ;
1387
- let keepaliveTimeout : NodeJS . Timeout | null = null ;
1388
- let keepaliveDisabled = false ;
1387
+ let keepaliveTimer : NodeJS . Timeout | null = null ;
1389
1388
let sessionClosedByServer = false ;
1390
1389
1391
1390
const idleTimeoutObj = this . enableIdleTimeout ( session ) ;
@@ -1429,15 +1428,15 @@ export class Server {
1429
1428
}
1430
1429
1431
1430
const clearKeepaliveTimeout = ( ) => {
1432
- if ( keepaliveTimeout ) {
1433
- clearTimeout ( keepaliveTimeout ) ;
1434
- keepaliveTimeout = null ;
1431
+ if ( keepaliveTimer ) {
1432
+ clearTimeout ( keepaliveTimer ) ;
1433
+ keepaliveTimer = null ;
1435
1434
}
1436
1435
} ;
1437
1436
1438
1437
const canSendPing = ( ) => {
1439
1438
return (
1440
- ! keepaliveDisabled &&
1439
+ ! session . destroyed &&
1441
1440
this . keepaliveTimeMs < KEEPALIVE_MAX_TIME_MS &&
1442
1441
this . keepaliveTimeMs > 0
1443
1442
) ;
@@ -1453,11 +1452,11 @@ export class Server {
1453
1452
this . keepaliveTrace (
1454
1453
'Starting keepalive timer for ' + this . keepaliveTimeMs + 'ms'
1455
1454
) ;
1456
- keepaliveTimeout = setTimeout ( ( ) => {
1455
+ keepaliveTimer = setTimeout ( ( ) => {
1457
1456
clearKeepaliveTimeout ( ) ;
1458
1457
sendPing ( ) ;
1459
1458
} , this . keepaliveTimeMs ) ;
1460
- keepaliveTimeout . unref ?.( ) ;
1459
+ keepaliveTimer . unref ?.( ) ;
1461
1460
} ;
1462
1461
1463
1462
sendPing = ( ) => {
@@ -1501,14 +1500,14 @@ export class Server {
1501
1500
return ;
1502
1501
}
1503
1502
1504
- keepaliveTimeout = setTimeout ( ( ) => {
1503
+ keepaliveTimer = setTimeout ( ( ) => {
1505
1504
clearKeepaliveTimeout ( ) ;
1506
1505
this . keepaliveTrace ( 'Ping timeout passed without response' ) ;
1507
1506
this . trace ( 'Connection dropped by keepalive timeout' ) ;
1508
1507
sessionClosedByServer = true ;
1509
1508
session . close ( ) ;
1510
1509
} , this . keepaliveTimeoutMs ) ;
1511
- keepaliveTimeout . unref ?.( ) ;
1510
+ keepaliveTimer . unref ?.( ) ;
1512
1511
} ;
1513
1512
1514
1513
maybeStartKeepalivePingTimer ( ) ;
@@ -1528,7 +1527,6 @@ export class Server {
1528
1527
clearTimeout ( connectionAgeGraceTimer ) ;
1529
1528
}
1530
1529
1531
- keepaliveDisabled = true ;
1532
1530
clearKeepaliveTimeout ( ) ;
1533
1531
1534
1532
if ( idleTimeoutObj !== null ) {
@@ -1575,7 +1573,6 @@ export class Server {
1575
1573
let connectionAgeTimer : NodeJS . Timeout | null = null ;
1576
1574
let connectionAgeGraceTimer : NodeJS . Timeout | null = null ;
1577
1575
let keepaliveTimeout : NodeJS . Timeout | null = null ;
1578
- let keepaliveDisabled = false ;
1579
1576
let sessionClosedByServer = false ;
1580
1577
1581
1578
const idleTimeoutObj = this . enableIdleTimeout ( session ) ;
@@ -1626,7 +1623,7 @@ export class Server {
1626
1623
1627
1624
const canSendPing = ( ) => {
1628
1625
return (
1629
- ! keepaliveDisabled &&
1626
+ ! session . destroyed &&
1630
1627
this . keepaliveTimeMs < KEEPALIVE_MAX_TIME_MS &&
1631
1628
this . keepaliveTimeMs > 0
1632
1629
) ;
@@ -1734,7 +1731,6 @@ export class Server {
1734
1731
clearTimeout ( connectionAgeGraceTimer ) ;
1735
1732
}
1736
1733
1737
- keepaliveDisabled = true ;
1738
1734
clearKeepaliveTimeout ( ) ;
1739
1735
1740
1736
if ( idleTimeoutObj !== null ) {
0 commit comments