Tolerate receiving pings when permitWithoutCalls is disabled
#893
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.
Motivation:
The recently introduced keepalive handlers have some a configuration option
permitWithoutCallsto control whether pings may be sent when there areno active RPCs. This was mistakenly applied to receiving pings as well.
For clients, the default is to have this option set to
false, anypings received when no streams were active would result in the client
closing the connection to the server.
Since gRPC implementations may send pings which are not used for
keepalive (libgrpc sends pings to estimate BDP, for example), any such
ping would result in the client closing the connection.
Modifications:
ping is considered to be a strike)
nowproperty to be a functionisPingStrikeResult:
We tolerate receiving pings so long as they aren't a strike.