When both ends of a WebSocket connection need to know when the connection is lost, both sending pings is redundant, as a received ping already indicates that the peer is still connected.
Add an optional boolean parameter to the setConnectionLostTimeout() method, which when set to true makes the connection lost checking passive, i.e. the check never sends out pings, but only checks whether an incoming ping was received recently enough.
For passive connection lost checking, the peer must be known to do active connection lost checking with a timeout equal (or lower) than the one locally used.
How Has This Been Tested?
We have included this change in our backend software and it works as desired.
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
Description
When both ends of a WebSocket connection need to know when the connection is lost, both sending pings is redundant, as a received ping already indicates that the peer is still connected.
Add an optional boolean parameter to the setConnectionLostTimeout() method, which when set to true makes the connection lost checking passive, i.e. the check never sends out pings, but only checks whether an incoming ping was received recently enough.
For passive connection lost checking, the peer must be known to do active connection lost checking with a timeout equal (or lower) than the one locally used.
How Has This Been Tested?
We have included this change in our backend software and it works as desired.
Types of changes
Checklist: