Module network::protocols::health_checker
source · Expand description
Protocol used to ensure peer liveness
The HealthChecker is responsible for ensuring liveness of all peers of a node. It does so by periodically selecting a random connected peer and sending a Ping probe. A healthy peer is expected to respond with a corresponding Pong message.
If a certain number of successive liveness probes for a peer fail, the HealthChecker initiates a disconnect from the peer. It relies on ConnectivityManager or the remote peer to re-establish the connection.
Future Work
We can make a few other improvements to the health checker. These are:
- Make the policy for interpreting ping failures pluggable
- Use successful inbound pings as a sign of remote note being healthy
- Ping a peer only in periods of no application-level communication with the peer
Modules
Structs
- The actor performing health checks by running the Ping protocol
- The interface from HealthChecker to Networking layer.
Enums
Functions
- Configuration for the network endpoints to support HealthChecker.
Type Definitions
- The interface from Network to HealthChecker layer.