Add support for passive connection lost checking #1290
+93
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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: