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

Enums

Functions

Type Definitions