-
Notifications
You must be signed in to change notification settings - Fork 83
Open
Description
This feature request proposes the implementation of a keepalive mechanism in ttrpc based on the HTTP/2 PING frame as defined in RFC 7540, Section 6.7 to distinguish between a slow remote procedure call (RPC) and a dead or unresponsive client or server. The keepalive feature will allow clients and servers to periodically check the health of the connection.
The ttrpc protocol, as described in PROTOCOL.md, will be extended with two new message types:
- PING (0x04): A message sent by the client to the server to check if the connection is alive.
- PONG (0x05): A message sent by the server in response to a PING, confirming that the connection is active.
Both server and client will be able to set this functionality with the following two options (based on golang http2 implementation):
- ReadIdleTimeout: The timeout after which a health check using a PING frame will be sent if no data frames are received on the connection (0 means disabled)
- PingTimeout: The timeout after which the connection will be closed if a response to a PING is not received (0 means disabled)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels